CSS 中的文档流
文章类型:CSS
发布者:hp
发布时间:2025-04-26
CSS 中的文档流(Normal Flow)是浏览器默认的页面元素布局规则,决定了元素在没有 CSS 干预时如何自动排列
1:顺序排列=>元素按照 HTML 的书写顺序依次渲染
2:块级元素=>独占父容器的一整行,宽度默认撑满父容器,高度由内容决定
3:行内元素=>共享一行空间,宽度由内容撑开,无法直接设置 width/height 或上下 margin/padding
1:浮动=>元素向左/右浮动,后续内容会“环绕”它
2:绝对定位=>元素相对于最近的定位祖先元素
3:固定定位=>元素相对于浏览器视口定位,不随页面滚动移动
1:父元素高度坍塌=>子元素浮动或绝对定位后,父元素高度可能变为 0
2:布局重叠=>脱离流的元素可能遮挡正常流内容,需通过 z-index 控制层叠顺序
1:清楚浮动=>使用 clear: both 或父元素触发 BFC
2:重置定位=>将 position 改为 static(默认值)或调整定位方式
<!-- 正常流:三个 div 垂直排列 -->
<div style="background: #eee;">块级元素1</div>
<div style="background: #ccc;">块级元素2</div>
<!-- 脱离流:两个浮动 div 并排,父元素高度塌陷 -->
<div style="float: left;">浮动元素</div>
<div style="position: absolute;">绝对定位元素</div>
1:BFC(块级格式化上下文):独立布局环境,内部元素不影响外部
2:层叠上下文:z-index 仅在定位元素(非 static)生效,控制重叠顺序