32

その標準的なフロートの問題。親コンテナ div 内に多数のフローティング要素があります。子はフローティングであるため、親はそれらすべてを含むように拡張されません。

親コンテナ div のオーバーフロー プロパティを「auto」または「hidden」に設定するだけでなく、clearfix ソリューションについても知っています。http://www.quirksmode.org/css/clearing.html オーバーフロー メソッドを設定することは、その 1 つのプロパティとしてはるかに優れているように思えます。私が理解したいのは、clearfix アプローチがこの方法よりも優れているのはいつで、非常に頻繁に使用されていることがわかります。

PS私はIE6について心配していません。

4

1 に答える 1

15

非表示のコンテンツを挿入してクリアする「clearfix」メソッドをわざわざ使用する必要があるのは、適用先の要素をオーバーフローしたときに要素を表示する必要がある場合だけです。

IE7 のオーバーフロー隠しトリガーでは、hasLayout に注意してください。IE8については不明です。

#wrapper { width:80em; overflow:hidden; }

上記の方法は、#wrapper を超えてオーバーフローする #header と言う必要がない限り、ほとんどすべての場合にうまく機能します。

#wrapper { width:80em; position:relative; }
#wrapper:after {  content:"."; clear:both; display:block; height:0; visibility:hidden; }
#header { position:absolute; top:-15px; left:-15px; }
于 2010-03-03T17:40:14.320 に答える