CSSハック:clearfix

| 2007年10月29日 21:39

CSSによるレイアウトをおこなった場合、floatを利用することはスタンダードな手段だ。ところが親コンテナの中で子コンテナをfloatしてやると親コンテナの高さがおかしなことになる。

サンプル

id="clearFix"

id="cfLeft"

clearfixのテスト。左側に寄せるコンテンツ

id="cfRight"

clearfixのテスト。右側に寄せるコンテンツ

親コンテナに背景がある場合、背景が切れることになりその対策として下記のような.clearクラスをbrなどにくっつけてfloat解除をしていた。

サンプル


.clear {
	clear: both;
}

<div id="clearFix">
<p>id="clearFix"</p>

 <div id="cfLeft">
 <p>float: left;</p>
 <p>clearfixのテスト。左側に寄せるコンテンツ</p>
 </div>
	
 <div id="cfRight">
 <p>float: right;</p>
 <p>clearfixのテスト。右側に寄せるコンテンツ</p>
 </div>
	
 <br class="clear" />

</div>

実行結果

id="clearFix"

float: left;

clearfixのテスト。左側に寄せるコンテンツ

float: right;

clearfixのテスト。右側に寄せるコンテンツ


floatがクリアされ、背景が表示されるので結果としては問題ないが、(x)HTMLに余分なソースを記述することになりちょっと気持ちが悪い。

そこでclearfixというCSSハックを利用する。

clearfixサンプルソース

参照サイト
【IE7対応clearfix】さらに続報、コピペでつかえる主要ブラウザをclearするコード、[多分最終版]

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

clearfix実行結果

id="clearFix"

float: left;

clearfixのテスト。左側に寄せるコンテンツ

float: right;

clearfixのテスト。右側に寄せるコンテンツ

上記以外にも書き方は多数ある模様。

cleafix参考サイト

CSSハック:clearfixタグ:

トラックバック
  • http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/179
コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)





この情報を登録しますか?

このサイトは次のライセンスで保護されています。

Creative Commons License

IT業界、エンジニア関連の求人
Web業界に精通したエージェントなので、希望に合った仕事、プロジェクト、雇用形態を紹介してくれてしっかりと転職活動をサポートしてくれます。
初心者のみ採用!【スノーグラス】WEB系エンジニア募集
初心者のみのweb系エンジニア求人!なんでだ?そろそろ転職考えてるのでここ行ってみようかな・・・
Twitter Updates