它是标准的浮动问题。您在父容器 div 中有一堆浮动元素。由于孩子是浮动的,因此父母不会扩展到包括所有孩子。
我知道 clearfix 解决方案以及将父容器 div 上的溢出属性设置为“自动”或“隐藏”。http://www.quirksmode.org/css/clearing.html 对我来说,设置溢出方法似乎更好,因为它只是一个属性。我想了解的是 clearfix 方法何时比这种方法具有优势,因为我看到它被非常频繁地使用。
PS我不关心IE6。
它是标准的浮动问题。您在父容器 div 中有一堆浮动元素。由于孩子是浮动的,因此父母不会扩展到包括所有孩子。
我知道 clearfix 解决方案以及将父容器 div 上的溢出属性设置为“自动”或“隐藏”。http://www.quirksmode.org/css/clearing.html 对我来说,设置溢出方法似乎更好,因为它只是一个属性。我想了解的是 clearfix 方法何时比这种方法具有优势,因为我看到它被非常频繁地使用。
PS我不关心IE6。
唯一一次您应该使用插入不可见内容以清除的“clearfix”方法是如果您需要一个元素在溢出您应用它的元素时可见,否则触发 hasLayout + 溢出是黄金。
注意在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; }