2008年3月11日 16:43
▼EntryMore▼
ポイントは、「#listFloatSample ul」の部分です。
margin-right: -6pxで最後のリスト要素のmargin分マイナスしてはみ出した部分を相殺します。
margin-top: -10pxで、上部分のmarginを相殺しています。
本来であればmargin-bottomで下に余白を作るところですが、下余白の場合、
最後のmargin-bottomで親要素との間に余白ができてしまい、
ネガティブマージン(マイナス値のマージン)では相殺できないためです。
さらに重要なのがzoom: 1です。
これを指定しているのは、IEのhasLayout対策のためです。
これを入れないとうまくネガティブマージンが動作せず、カラム落ちしてしまいます。
まとめると、floatさせた要素のmargin分、その親要素のネガティブマージンを使って相殺し、さらにIE対策のためにその親要素にhasLayout対策(このサンプルではzoom: 1)を施す、ということです。
トラックバックURL
http://css-eblog.com/cgi-bin/mt/mt-tb.cgi/67