floatさせたブロックの親要素にはclearfix

| コメント(0) | トラックバック(0)

段組などでブロック要素をfloatさせたとき、それを囲む親要素の高さが算出されないという問題があります。floatは「回り込み」ではなく、あくまでも「浮かせた」だけなので、浮いた要素は親要素からすると無くなったものと解釈される、と考えると分かりやすいです。

そこで定番の解決策として、親要素にclearfixを適用します。
このブログでもclearfixを使っています。

■HTML
<div class="clearfix">
	<div style="float:left;width:200px;">左カラム</div>
	<div style="padding-left:200px;">右カラム</div>
</div>

■CSS
.clearfix { 
	zoom:100%;
}
.clearfix:after {
	content:" "; 
	clear:both; 
	height:0; 
	display:block; 
	visibility:hidden;
}

clearfixのもうひとつの利点は、floatさせた後にいちいち<br clear="both" />とかでクリアする必要がないことです。不要なbrは避けるべきなので、その点でもスマート。

clearfixは亜種がたくさんあり、互換性等が考慮されて日々進化しています。
都度新しいclearfix(という名前とは限らないですが)をチェックしておきましょう。

トラックバック(0)

トラックバックURL: http://passandgo.jp/cms/mt-tb.cgi/9

コメントする

このブログ記事について

このページは、ナックルが2008年11月10日 12:22に書いたブログ記事です。

ひとつ前のブログ記事は「起動が遅い場合は、いろいろ削除」です。

次のブログ記事は「Wordpressのダッシュボードをカスタマイズする」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。