什么叫清除浮动?
容器的高度没有写死,设置为 auto,靠内容撑开,如果内部子盒子设置 左浮动或者右浮动,此时父盒子height 为0了。
采用触发BFC的方式,因为触发 BFC 的盒子在计算高度的时候,浮动的元素也参与计算
- 给父元素设置 overflow: hidden
- 给父元素设置 定位,position: absolute
- 给父元素设置 浮动
采用 clear: both 的方式
- 在浮动元素标签后面加一个空白签,设置 clear: both(在左右两侧均不允许出现浮动元素)
- 给父元素设置一个 伪元素 after,设置 clear: both,这样做的好处是,伪元素不会被渲染,可以提高性能
.parent:after {
clear: both;
content: '';
display: block;
height: 0;
}