文档流(Normal Flow)
- 文档流中:内联元素默认从左到右流,遇到阻碍或者宽度不够自动换行,继续按照从左到右的方式布局。块级元素独占一行,并且按照从上到下的方式布局。
脱离文档流
- 将元素从普通文档流中去掉,其他元素在排版的时候会当作这个元素不存在去排版。
- 文档一旦脱离文档流,在计算父元素的高度时,就不包括其自身了。
- 哪些因素会导致元素脱离文档流
float
脱离文档流,但其他的元素文字会找到该元素的文字位置。position:absolute
脱离文档流,其他元素完全无视该元素。它的定位取决于它的父元素有没有定位(position),如果有,那么它就根据定位了的父元素来定位。position:fixed
固定定位,相对于可视区定位,脱离文档流。
小结
使得元素脱离文档流而存在,分别是浮动,绝对定位,固定定位。
下面再来探讨一下几种定位方式:
- 相对定位:相对于元素在文档流中的位置进行偏移,但保留原占位(没有脱离文档流)。
- 绝对定位:完全脱离文档流,相对于position属性非static值的最近父级元素进行偏移。
- 固定定位:完全脱离文档流,相对于视区进行偏移。