我找到了一些CSS模板,其中某些类具有overflow:hidden属性,但未定义大小。如果我没记错的话,除非另有说明,否则块元素会拉伸以适合其内容。由于不是这种情况,所以我认为将overflow:hidden放置是没有意义的,并且可以毫不犹豫地删除它。这是对的还是我缺少什么?
最佳答案
尽管这是overflow
属性的主要目的,但这并不是它对呈现的唯一影响。它的另一个主要作用是将overflow
设置为除visible
以外的任何值(默认值)会导致阻止框建立自己的block formatting context。
它主要用于包含浮点数,而无需使用clearfix;但是,这并不是拥有新的BFC的唯一效果;在规范中的其他地方,还有很多其他更好的例子。另请参见this lengthy write-up关于此行为的原因(奇怪的是,它与包含浮点数没有多大关系;实际上,最终结果仅是副作用)。
因此,如果删除该overflow
声明,则可能会破坏浮动布局。我建议避免这样做,除非绝对必要,否则您确定它不会影响布局。