- 在标准流中盒子会各占整行位置。子盒子若是标准流,父盒子虽然没有高度,但是会撑开父盒子高度。
但是再给子元素设置浮动后,盒子浮了起来,不会占据原来的位置,若父盒子没有定义高度,则不会撑开父盒子,父盒子高度为0。
所以,清除浮动,主要是为了解决父级元素因为子级浮动引起的内部高度为0的问题。*
清除浮动的方法
1.父级div定义伪类:(推荐)
after和zoom
div:after{
content:"";
clear:both;
}
.clearfix{
zoom:1; /*为了兼容IE*/
}
2.父级div定义
overflow:hidden
3. 结尾处加空div标签并对其应用
clear:both
//对添加的元素使用 clear:both
.clear{clear:both;}
<div class="box">
<div style="float:left;">1</div>
<div style="float:left;">2</div>
<div style="float:left;">3</div>
//添加一个新元素
<div class="clear"></div>
</div>
4.父级div定义height
5.父级div定义
overflow:auto