float解除みなさんどうしてます?私はclearfixに乗り換えました。
^
以前は、<br style="clear:both" />でやっていたのですが、
大手企業がclearfixをつかってるのをみて移行しました。
ですが、調べてみるとclearfixにもいろいろなバージョンがあるようです。
br派のひとがどれだけ多いのかも兼ねて、みなさんのclearfixのしかた等拝見できればなと思います。
^
ちなみに私はこれです:
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix { display: inline-table; }
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */
みんなの回答 9 件
<br style="clear:both" />を使うのはHTMLの文法的に間違っているからやめたほうがいい
clearfixをそのまま使うのはclass="clearfix"とか書くことになり、クラス名に見栄えを記述してはいけないというHTMLの原則に反するのでやはりよくない
Sassか何かで他のクラスにclearfixを埋め込むのが正解
overflow:hidden;
でいいじゃん
最近はclearfix も対応ブラウザが減って短くなったから、親divのスタイルに毎回書くようになった。clearfix っていっぱい入っているの微妙だし。
position: relative;
overflow: hidden;
大抵の事はこれで片付く。
display:tableとかでもいける
li{float:left;}
ul:after{content:""; display:block; clear:both;}
でやってんだけどおかしいですか?
ということで、clearfixを使うこと自体がもう古いという結論に。乗り換えたタイミングでトピ主残念。古いというか、新しくないね。
5年くらい前からずっとmicro clearfix使ってるわ。記述短いし簡単だから優秀。
ちなにみsassでもcompass使えばデフォでmicro clearfix使える記述がある。
.clearfix:before,
.clearfix:after {
content:"";
display:table;
}
.clearfix:after {
clear:both;
}
.clearfix {
zoom:1;
}
ちなみにoverflow: hidden;使わない理由はこれね↓
これは印刷で不具合起きたり、古いブラウザでhasLayout関連のバグ起きたりするから使わない。
何年前の話だ
関連するトピックス