ファイルを最大3つアップロードできる掲示板を作成しているのですが、2個の場合は縦並び、3個の場合は2個横並び+一段下に回り込んで1個並べたいです。
div class="billboard_article_areaにCSSを設定しておりクラス名を維持したまま、個数に応じてCSSを差し替えたいと考えております。
jQueryで可能なようで参考にしたいと考えているのですが、ブラウザにより対応できない場合もあるようで躊躇していて、他に方法がないかと模索しているのですが何か良い方法はありますでしょうか?
※参考サイト
https://okwave.jp/qa/q7386889.html
※アップロードファイルコード
<div class="billboard_article_area">
<div class="billboard_uploadFiles_area">
<!-- <label>添付ファイル#1</label> -->
<div class="viewer"><?php echo $view[0]; ?></div>
</div>
<div class="billboard_uploadFiles_area">
<!-- <label>添付ファイル#2</label> -->
<div class="viewer"><?php echo $view[1]; ?></div>
</div>
<div class="billboard_uploadFiles_area">
<!-- <label>添付ファイル#3</label> -->
<div class="viewer"><?php echo $view[2]; ?></div>
</div>
No.3ベストアンサー
- 回答日時:
No1です。
画像の表示順序がどれだけ重要なのかがよくわからないのですが・・
ご提示のHTMLのどこが画像なのかも不明なのと、画像サイズがどの程度バラついているのかも不明なので、何とも記述しにくいのですが、大雑把な参考としてのサンプルを作成してみました。
適当に以下の仮定をしています。
・各画像(又は包含要素)は同じくらいのサイズになっている
(例では100×100pxとしてあります)
・ご提示のHTMLでdiv要素が画像(又は画像の包含要素)になっていると想定
画像の順を気にしなければ、一律設定のCase1で事足りると思います
画像の順も気にするのなら、CSSを使い分ける方法でCase2の例で
(とは言っても、.tripleの設定を追加しただけですが・・)
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
/* divを画像代わりにする仮設定他 */
h4 { margin: 1.5em 0 .2em; }
.img {
width: 100px; height: 100px;
text-align: center; line-height: 100px;
font-weight: bold;
border: 1px solid #888;
background-color: #DFF;
margin: 1px;
}
/* レイアウトの設定 */
.wrap1, .wrap2 {
display: flex;
flex-wrap: wrap;
flex-direction: column;
max-height: 210px; max-width: 210px;
}
.wrap2.triple { flex-direction: row; }
</style>
</head>
<body>
<h4>Case1:1個の場合</h4>
<div class="wrap1">
<div class="img">画像1</div>
</div>
<h4>Case1:2個の場合</h4>
<div class="wrap1">
<div class="img">画像1</div>
<div class="img">画像2</div>
</div>
<h4>Case1:3個の場合</h4>
<div class="wrap1">
<div class="img">画像1</div>
<div class="img">画像2</div>
<div class="img">画像3</div>
</div>
<h4>Case2:1個の場合</h4>
<div class="wrap2">
<div class="img">画像1</div>
</div>
<h4>Case2:2個の場合</h4>
<div class="wrap2">
<div class="img">画像1</div>
<div class="img">画像2</div>
</div>
<h4>Case2:3個の場合</h4>
<div class="wrap2 triple">
<div class="img">画像1</div>
<div class="img">画像2</div>
<div class="img">画像3</div>
</div>
</body>
</html>
PHPでアップロード数に応じてif分岐を使い、CSSの表示を切り替えることが可能そうなのでそちらを先ず試してみて、不可能であればこちらの方法を代用させていただきます。勉強になりました、コード提示ありがとうございます。
No.2
- 回答日時:
$imgorder = 'solo' または 'duo' または 'trio';
<style>
.billboard_article_area { /*共通の書式*/ }
.billboard_article_area.solo { /*1個の画像の書式*/ }
.billboard_article_area.duo { /*2個の画像の書式*/ }
.billboard_article_area.trio { /*3個の画像の書式*/ }
</style>
<div class="billboard_article_area <?php echo $imgorder; ?>">
画像
</div>
回答ありがとうございます、echo部分はウイルス対策などを施したディレクトリからのものを使用したいのですが、そちらでも応用可能でしょうか?
<div class="billboard_article_area">
<div id="billboard_toggle_target">
<div class="billboard_uploadFiles_area">
<!-- <label>添付ファイル#1</label> -->
<div class="viewer"><?php echo $view[0]; ?></div>
</div>
<div class="billboard_uploadFiles_area">
<!-- <label>添付ファイル#2</label> -->
<div class="viewer"><?php echo $view[1]; ?></div>
</div>
<div class="billboard_uploadFiles_area">
<!-- <label>添付ファイル#3</label> -->
<div class="viewer"><?php echo $view[2]; ?></div>
</div>
</div>
No.1
- 回答日時:
こんばんは
単純に画像の数で並びを変えたいだけなら、
・インライン要素にして並べる(float等でも可)
・flex あるいは grid レイアウトで並べる
等の方法で、3個目から次の行になるようにしておけば済みそうですが?
サイズがどのように決まっているのか不明ですが、親要素の幅を画像2個分にしておけば、3個目から次の行に送られると思います。
そこまでする必要があるのかどうか不明ですけれど、個別に3種類のレイアウトをCSSで記述しておく方法も考えられます。
それぞれにクラス名を設けておいて、画像の数によって、親要素にそのクラス名を付与することで、適用するCSSを変えることが可能になるでしょう。
回答ありがとうございます、CSSで2個の場合は縦並び、3個の場合は横並び+下の段に1個回り込むという構想で考えていたので、3個目から次の行というのは考えておりませんでした…
PHPで方法を模索しているのですが、一部のみfunctions.php(他の処理が書かれている)以外で別にcss.phpを作成して読み込ませることは可能でしょうか?
※参考サイト
http://103px.blog.fc2.com/blog-entry-19.html
https://fantastech.net/php-css
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アップロードファイルの数に応...
-
WP/ 記事タイトルをクリックさ...
-
WordPressのLighting(テーマ)に...
-
こんな素敵なサイトって、WordP...
-
意見文のテーマ
-
国語の感想文(いのうえひさし...
-
awsでwordpressをインストール...
-
ワードプレス 2段階認証解除方法
-
WordPress。WordPressインスト...
-
ワードプレス。lightning ペー...
-
【wordpress】ヘッダー動画をiP...
-
ワードプレスのプラグイン
-
wordpressでワーニングが出て解...
-
価格ドットコムのスマホアプリ...
-
ワードプレス 「複数のドメイン...
-
ムーバブルタイプのサーバ移管...
-
ロリポップにムーバブルタイプ...
-
wordpressのアカウントが重複し...
-
ワードプレスは外出先からも編...
-
うーん
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WordPressのLighting(テーマ)に...
-
アップロードファイルの数に応...
-
PHPのソース変更が反映されない
-
Wordpressで記事がない場合にメ...
-
phpの表示領域をしていしたい!
-
変数で日付を指定し、新しい順...
-
DreamweaverとWordPressの連携
-
外部ファイルの読み込み
-
wordpress投稿内でcgiを動かしたい
-
ワードプレスでカテゴリー毎に...
-
WP/ 記事タイトルをクリックさ...
-
Smarty コンバートエラー??
-
wordpress カスタム投稿タイプ...
-
CentOSでhtaccessを使用してmod...
-
PHPのクッキーによるリダイレクト
-
wordpressのリンクでの質問です。
-
Webデザイナー向けLinuxユーザ...
-
URL短縮ツール「楽々URL」をさ...
-
PHP初心者です。
-
ランキングを表示する際の画像...
おすすめ情報