これ、何故にいままで全く思いつかなかったのかが不思議でならない。
たとえば以下のような配置をしたくなる時があります
上記画像は、横幅380pxの親ブロックの中に、横幅120pxのサムネイル画像を均等配置で3個入れてあります。
のでサムネイル毎の間隔は10pxかな。
そしてそれをコーディングする時、いままではこんな感じで書いてたとします
html部分
[html]
<dl>
<dt><img src="メイン画像までのパス" alt="メイン画像" /></dt>
<dd>
<ul>
<li><img src="サムネイルまでのパス" alt="サムネイル" /></li>
<li><img src="サムネイルまでのパス" alt="サムネイル" /></li>
<li class="last"><img src="サムネイルまでのパス" alt="サムネイル" /></li>
</ul>
</dd>
</dl>
[/html]
css部分(余計な指定はすでにリセットしてあるとして)
[css]
dl{
width:380px;
}
dt{
margin-bottom:10px;
}
li{
float:left;
display:inline;
margin-right:10px;
}
li.last{
margin-right:0;
}
[/css]
こんな感じで、liの最後に適当なclassをつけてmarginをリセットしてたんですよ。
これだと余計なclassをhtmlに書かなきゃならなくて、美しくないし面倒だなぁと思いながらも。
しかしさっきおや?と思ったわけです
右にmarginをとっていたけど、これ左にしたらどうだろう?と発想を変えてcssを
[css]
ul{
margin-left:-10px;
}
li{
float:left;
display:inline;
margin-left:10px;
}
[/css]
こうしてみたら
.lastが必要なくなったアアアア
って話。
コメント