为什么HTML5 BoilerPlate,Blueprint和960.gs CSS框架使用Clearfix
而不是overflow:hidden
?
为什么overflow:hidden
不首选?要每次都使用clearfix
我需要将clearfix
类添加到html元素,但我可以在css中添加overflow:hidden
而不修改html。
请举例说明使用overflow:hidden
clearfix
类是否将演示文稿与内容混合在一起?
答案 0 :(得分:3)
我认为.clearfix-class不仅包含overflow:hidden;是因为在某些情况下你不希望溢出设置为隐藏,但你仍然希望元素自行清除。
关于在HTML上使用class =“clearfix”,我绝对同意这是“将演示文稿与内容混合”。
我个人使用SASS来避免为所有事情使用类。使用SASS mixin,我可以简单地去:
#foo {
@include clearfix;
}
并且仍然可以从一个地方更改我的所有clearfix样式。
答案 1 :(得分:2)
让我用一个问题回答你的问题(然后回答)。
问:为什么我们在CSS中使用类?
答:允许我们创建可重复使用的代码。
问:那太好了,但这又如何适用于这种情况呢?
答:当下一个浏览器引擎被释放时(可能是IE再次破坏了所有内容)和你的溢出:隐藏不再有效,你将不得不进入并更改你使用它创建的每个实例。然而,如果您使用的是课程,那么您需要做的就是在一个地方更新代码,并且一切正常。
tl; dr; 面向未来。