CSS:正常布局流

680 阅读1分钟

正常布局流,也叫正常文档流,Normal flow。

指的是没有改变默认布局规则下的页面元素布局方式。

制作网站应该从一个简单清晰的正常布局流下进行,这样即使用户使用受限的浏览器或屏幕(比如对 CSS 支持不到位的老旧浏览器,或者用户自定义了 CSS)也可以顺利浏览内容。

默认情况下元素的布局

独立元素的布局

首先元素会被放在一个盒子中。

块级元素的内容宽度是父元素的 100%,高度与内容高度一致。

内联元素的 height、width 与内容一致,无法自定义设置。如果想设置则需要把元素设置为 display:block,或 display:inline-block。

元素之间的布局

块级元素按照基于其父元素的书写顺序(默认值:horizontal-tb)的块流动方式(block flow direction)放置,每个块级元素会在上一个元素下面另起一行,由设置好的margin分隔。

内联元素不会另起一行。父级块元素空间允许的情况下,它与其他内联元素、相邻文本安排在同一行。溢出的内容放在下一行。

如果两个相邻的元素都设置margin并且重叠,更大的设置会被保留,小的则消失。