文章目录
为什么要清除浮动
由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为0时,就会影响下面的标准流盒子(由于浮动元素不再占用原文档流的位置,所以它会对后面的元素排版产生影响)。
清除浮动本质
- 清除浮动的本质是清除浮动元素脱离标准流造成的影响
- 如果父盒子本身有高度,则不需要清除浮动
- 清除浮动之后,父级就会根据浮动的子盒子自动检测高度。父级有了高度,就不会影响下面的标准流了
清除浮动的策略:闭合浮动(只让浮动在父盒子内部影响,不影响父盒子外面的其他盒子)
什么是高度塌陷?
父元素高度自适应,子元素添加浮动后,造成父元素高度为0,称为高度塌陷问题。
为什么会脱标?
因为所有元素本都是在标准流里布局,即块元素独占一行、行内元素从左到右排列;被添加浮动效果后,不再属于标准流且会脱离标准流(脱标),此元素的位置将不再保留。此时,本被布局在下面的块元素会往上移动,排在右边的行内元素会向左边移动,导致整个布局发生改变。