- ベストアンサー
CSSで画像を均等に横並びに配置する方法
- CSSを使って、テーブルを使わずに画像を均等に横並びに配置する方法を教えてください。
- 画像の数に応じて、はみ出した画像が自動的に下に改行されるような配置を実現したいです。
- HTMLのソースコードは、ul>li>a>imgの構造で構成されています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
列数も考慮して画像の大きさや均等、隙間も考えなければいけませんが、 方法は沢山ありますのでお好みです。 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列にすれば良い。 質問の意味がイメージと違っていましたか?
その他の回答 (2)
- naokita
- ベストアンサー率57% (1008/1745)
間違いです。訂正。 <a href="*"><img src="img/06.jpg" style="margin-right: 0;" /></a>
お礼
回答ありがとうございます。 おかげで右マージンゼロにすることができました。 これからもっと勉強します。
- naokita
- ベストアンサー率57% (1008/1745)
#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でアンカー を改行して書くか一列に書くかによっても各画像間の隙間が違うので注意。
補足
丁寧な回答ありがとうございます。 おかげ様でリストでも横並びで均等に配置することができました。 ※1点追加で質問させてもらっていいですか? 右端の画像には右のマージンを空けず、div枠の幅にぴったりとくっつけたいのですが、この場合どう指定すればいいのでしょうか?