清除浮动的本质是清除浮动元素脱离标准流造成的影响。
为什么要清楚浮动?
- 父级没高度
- 子盒子浮动了
- 影响下面布局,我们就应该清除浮动了。
清除浮动的四种方法:
1.额外标签法。
在最后一个浮动标签之后添加一个额外的块级标签,比如空div标签,设置样式:
<div style="clear:both;"></div>
2.给浮动标签的父级元素添加overflow属性,属性值设置为hidden,auto都可以
3. :after伪元素法(额外标签法的升级版)。给父元素添加:
.clearfix:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix { /*IE6、7专有*/
*zoom: 1;
}
4.双伪元素法。给父元素添加:
.clearfix:before,
.clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix { /*IE6、7专有*/
*zoom: 1;
}