
テーブルを使わずに、CSSで画像を自由に配置する方法がわからず困っています。
下記のようなイメージで配置したいです。6列。行は可変。
■…画像
画像の数に応じて、はみだした画像は自動的に下に改行される感じです。
■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■
HMTLソースは以下のとおりです。
<ul>
<li><a href="*"><img src="img/01.jpg" /></a></li>
<li><a href="*"><img src="img/02.jpg" /></a></li>
<li><a href="*"><img src="img/03.jpg" /></a></li>
<li><a href="*"><img src="img/04.jpg" /></a></li>
<li><a href="*"><img src="img/05.jpg" /></a></li>
<li><a href="*"><img src="img/06.jpg" /></a></li>
<li><a href="*"><img src="img/07.jpg" /></a></li>
<li><a href="*"><img src="img/08.jpg" /></a></li>
<li><a href="*"><img src="img/09.jpg" /></a></li>
<li><a href="*"><img src="img/10.jpg" /></a></li>
<li><a href="*"><img src="img/11.jpg" /></a></li>
</ul>
どのようにCSSを定義すればスマートでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
列数も考慮して画像の大きさや均等、隙間も考えなければいけませんが、
方法は沢山ありますのでお好みです。
ul li でリストを使うのでしょうか?
ul li だと縦並びになるのでリストをCSSでつくるなら横並びに設定します。
li {float: left; margin: 0 20px 20px 0; padding: 0; list-style:none; }
イメージはこんな感じでmarginの数値を調整すれば隙間が出来て列数を上手く調整。
----------------------------------------------------------
下記が一番単純な方法
.xxx img{ margin: 0 20px 20px 0; border-style: none; }
<div class="xxx">
<a href="*"><img src="img/01.jpg" /></a>
<a href="*"><img src="img/02.jpg" /></a>
<a href="*"><img src="img/03.jpg" /></a>
<a href="*"><img src="img/04.jpg" /></a>
<a href="*"><img src="img/05.jpg" /></a>
<a href="*"><img src="img/06.jpg" /></a>
<a href="*"><img src="img/07.jpg" /></a>
<a href="*"><img src="img/08.jpg" /></a>
<a href="*"><img src="img/09.jpg" /></a>
<a href="*"><img src="img/10.jpg" /></a>
<a href="*"><img src="img/11.jpg" /></a>
</div>
-----------------------------------------
隙間nargin値の調整やdiv枠のwidthで幅を調整したりして6列にすれば良い。
質問の意味がイメージと違っていましたか?
この回答への補足
丁寧な回答ありがとうございます。
おかげ様でリストでも横並びで均等に配置することができました。
※1点追加で質問させてもらっていいですか?
右端の画像には右のマージンを空けず、div枠の幅にぴったりとくっつけたいのですが、この場合どう指定すればいいのでしょうか?
No.3
- 回答日時:
間違いです。
訂正。<a href="*"><img src="img/06.jpg" style="margin-right: 0;" /></a>
No.2
- 回答日時:
#1です。
補足への回答色々方法があるので、その後どんなHTMLを書いたかわかりませんが
6列が並んでいる状態で6番目の右マージンだけを無くしたいのならば
6番目だけ右マージンを解除すれば良い。 img/06.jpg のマージンを 0 設定。
その分、全体枠 width の幅を小さくするか、画像の隙間を広げて均等にするか。
<a href="*"><img src="img/06.jpg" margin-right: 0; /></a>
各々配置するなら、各 a を display blockにし width で好きなように配置。
htmlでアンカー を改行して書くか一列に書くかによっても各画像間の隙間が違うので注意。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
imageクラスからiconクラスに変...
-
写真を順番にホームページ上に...
-
html内にスライドショーを複数設置
-
あるwebサイト上の画像表示につ...
-
VBScript+IEのチェックボック...
-
javascriptテキストBOX色を元に...
-
ダブルクォーテーションが消え...
-
MAX関数を使ってからLEFT JOIN...
-
【java】背景画像を一定時間で...
-
スマートフォンサイトに部分的...
-
透過pngの透明部分以外をクリッ...
-
複数の要素を表示してる時だけ...
-
jqueryを使って無駄なspanタグ...
-
jQueryで同じクラス名のものを...
-
jQueryでシンプルドラッグドロ...
-
window.openで値の渡し方を教え...
-
同一ページ内で、任意の文字列...
-
C言語のポインタ表現
-
SleniumBasicでコンパイルエラ...
-
スワップイメージが上手く動作...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部javascriptの重複を防ぐには
-
libjpegライブラリの使い方につ...
-
複数画像のランダム複数表示(...
-
pythonのpygameでキャラクター...
-
MFCで画像を表示させているので...
-
JavaScriptで変更した属性の元...
-
HTMLからimgのsrcのみを正規表...
-
OpenCVの実行エラー
-
画像が表示でnull; this.src
-
複数の画像をフェードイン・ア...
-
createElementによる空要素の生...
-
ダイアログから画像ファイルは...
-
OpenCV での画素値の比較について
-
VC++2005で画面上にGIF画像(透...
-
条件分岐でキーが入力されてい...
-
画像ギャラリー
-
指定したフォルダの画像を一括...
-
error LNK2019 未解決のシンボ...
-
"lightbox"の"CLOSE"ボタンクリ...
-
リンク先を動的に変更する
おすすめ情報