为什么HTML5 BoilerPlate,Blueprint和960.gs CSS框架使用Clearfix over overflow:hidden?

时间:2011-12-21 17:51:43

标签: html css

为什么HTML5 BoilerPlate,Blueprint和960.gs CSS框架使用Clearfix而不是overflow:hidden

为什么overflow:hidden不首选?要每次都使用clearfix我需要将clearfix类添加到html元素,但我可以在css中添加overflow:hidden而不修改html。

请举例说明使用overflow:hidden

的缺点

clearfix类是否将演示文稿与内容混合在一起?

2 个答案:

答案 0 :(得分:3)

我认为.clearfix-class不仅包含overflow:hidden;是因为在某些情况下你不希望溢出设置为隐藏,但你仍然希望元素自行清除。

关于在HTML上使用class =“clearfix”,我绝对同意这是“将演示文稿与内容混合”。

我个人使用SASS来避免为所有事情使用类。使用SASS mixin,我可以简单地去:

#foo {
    @include clearfix;
}

并且仍然可以从一个地方更改我的所有clearfix样式。

答案 1 :(得分:2)

让我用一个问题回答你的问题(然后回答)。

问:为什么我们在CSS中使用类?

答:允许我们创建可重复使用的代码。

问:那太好了,但这又如何适用于这种情况呢?

答:当下一个浏览器引擎被释放时(可能是IE再次破坏了所有内容)和你的溢出:隐藏不再有效,你将不得不进入并更改你使用它创建的每个实例。然而,如果您使用的是课程,那么您需要做的就是在一个地方更新代码,并且一切正常。

tl; dr; 面向未来。