CSS 浮动行为:了解 Div 宽度保留
将 float:left 属性应用于 HTML 元素时,预计以下元素将被推到左边而不是换行。但是,在某些情况下,div 宽度可能看起来不受影响。
在给定的示例中,第二个 div(class="yellow")的内容正确对齐,但 div 本身仍然对齐跨越容器的整个宽度。此行为源于浮动定位的基本性质。
当元素浮动时,它将从文档的正常流程中删除。然而,浮动元素占用的空间仍然被占用该空间的后续元素“保留”。
这种空间保留记录在 CSS 规范中,该规范规定非定位块 -水平元素(例如 div)将浮动视为垂直布局中不存在的浮动。然而,行框(包含文本的矩形区域)会被缩短以容纳浮动的边距框。
因此,后续元素的内容会沿着浮动的一侧向下流动,但浮动的宽度会减小。容器(由后面的未浮动元素确定)保持保留。
要解决此问题,一种解决方案是对后续元素应用溢出属性(例如溢出:隐藏)。通过这样做,您可以建立一个新的块格式化上下文,从而防止元素与浮动元素的边距框重叠。这会强制后续元素缩小到不与浮动重叠的大小。
以上是为什么浮动元素似乎不影响 Div 宽度?的详细内容。更多信息请关注PHP中文网其他相关文章!