ClearFix vs Overflow

时间:2010-03-03 17:37:10

标签: css clearfix

它是标准的浮动问题。在父容器div中有一堆浮动元素。由于孩子是浮动的,父母不会扩展到包括所有孩子。

我知道clearfix解决方案以及将父容器div上的overflow属性设置为“auto”或“hidden”。http://www.quirksmode.org/css/clearing.html 对我来说设置溢出方法似乎更好,因为它只是一个属性。我想要理解的是,clearfix方法何时比这种方法有优势,因为我发现它经常被使用。

P.S。我不关心IE6。

1 个答案:

答案 0 :(得分:15)

唯一一次你应该使用插入不可见内容的“clearfix”方法来清除它是否需要一个元素在溢出你正在应用它的元素时可见,否则触发hasLayout + overflow是黄金的。

注意,在IE7溢出隐藏的触发器hasLayout。对IE8不确定。

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

上述方法在大多数情况下都能正常工作,除非您需要说#header溢出#wrapper ..

#wrapper { width:80em; position:relative; }
#wrapper:after {  content:"."; clear:both; display:block; height:0; visibility:hidden; }
#header { position:absolute; top:-15px; left:-15px; }