便利なclearfixとは?

(x)html+cssでコーディングをしていると、思うようにいかない場面に多々遭遇します。個人的にはliタグにfloatを与えたときが多いですね。背景色が白い場合には特に気にならないんですが、背景色をつけてみると、色が最後まで届いていない。というかブロック自体思うように認識されていないことが問題なんですが…。

そんなときによく使うのが、このclearfixと呼ばれている、技!

ほんとによく使うので、Dreamweaverでスニペット登録しました。

div{
    zoom:1;/*for IE 5.5-7*/
}
div:after{/*for modern browser*/
    content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}

ちなみにdivって書いてますが、floatをかけたブロックの親要素のことです。それを理解するのに随分時間がかかりました。

<div class="section">
<ul>
<li>…</li>
<li>…</li>
<li>…</li>
</ul>
</div>

.section li {
    float: left;
}
.section ul {
    zoom:1;/*for IE 5.5-7*/
}
.section ul:after {/*for modern browser*/
    content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}
Wait for feeding...
2007年03月