为什么 CSS2.1 定义“visible”以外的溢出值来建立新的块格式化上下文
CSS2.1 规范要求除“visible”之外的溢出值建立新的块格式化上下文(BFC)。这个决定可能看起来违反直觉,因为溢出通常用于隐藏内容而不影响布局。然而,这种选择背后有令人信服的理由。
可滚动内容和性能
将不可见溢出值定义为 BFC 的主要动机是为了增强滚动期间的性能。当浮动元素与其父容器外部的可滚动内容相交时,浏览器必须在每次滚动时重新包裹浮动元素周围的内容。如果浏览器需要实现原始 CSS2 规范,这种不断的重新包装将显着影响滚动速度。
与其他溢出值的一致性
此决定的另一个因素是一致性。虽然溢出:“隐藏”可能看起来只是简单地剪辑其容器内的内容,但它仍然可以通过编程方式滚动。因此,指定不可见的溢出值始终会导致新的 BFC,无论内容实际上是否可滚动。
通过替换元素统一行为
CSS2。 1 还引入了块格式化上下文根 (BFCR) 的 height: "auto" 行为方式的更改。高度为“auto”的 BFCR 现在垂直拉伸以容纳浮动。这与替换元素(例如图像)的行为一致,替换元素本质上会创建 BFC 并拉伸以适合其内容。
不可见溢出的好处
通过将不可见溢出值定义为 BFC、CSS2.1确保:
以上是为什么非'可见”溢出值会在 CSS2.1 中创建新的块格式化上下文?的详细内容。更多信息请关注PHP中文网其他相关文章!