現在はHTML、CSSコーディングの知識を深めようと思い勉強中なのですが
最近知った、感心したものをひとつ、ご紹介したいと思います。
私は普段、floatを解除する際はCSSにて
.clear { clear:both; }
を用意して置き、
<div class="float_a"> ~~~ </div> /*float要素a*/ <div class="float_b"> ~~~ </div> /*float要素b*/ <div class="clear"></div> /*float解除*/
という手法を取っていましたが、空のdiv要素をコードの中にいくつも配置するのは美しくありません。
もっと良い方法はないかと思い他の社員の方に聞いてみた所、こんな方法もあるよと教えてくださいました。
CSSにて
/*IE7以外のモダンブラウザ向け*/ .clearfix:after{ content:"."; display:block; height:0; clear:both; visibility:hidden; } /*IE7およびMacIE5向け*/ .clearfix{ display:inline-block; } /*IE6以前向け*/ /*Hides from IE-mac\*/ * html .clearfix{height:1%;} .clearfix{display:block;} /*End hide from IE-mac*/
そして
<div class="float_box clearfix"> /*floatの親要素+clearfix*/ <div class="float_a"> ~~~ </div> /*float要素a*/ <div class="float_b"> ~~~ </div> /*float要素b*/ </div>
と記述することにより、親要素が閉じた瞬間にfloatが解除されます。
一度覚えてしまえば何てことはないですし、状況によっては前者の方が良い場合もありますが
選択肢が増えるという事は、それだけきれいにコードが書けるようになるという事です。
たくさんの知識を増やして、常にきれいなコードが書けるよう心がけたいですね。