为什么清除浮动?
当出现一种情况,子元素浮动,而父元素不方便给高度时(如大段文字),我们需要清除浮动给父元素带来的影响(高度为零)。
- 额外标签法
在最后一个浮动元素后面加上一个空的div标签,给div设置样式属性,此为w3c推荐方法。
clear: both;
- overflow
给父级元素添加overflow属性,hidden/auto/scroll 都可以实现。
overflow: hidden;
- 伪元素清除浮动
一般给父级元素添加新类clearfix,并给父元素添加新样式。
.clearfix:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
ie6以下的浏览器版本用以下代码清除浮动:
.clearfix {
*zoom: 1;
}
- before ,after双伪元素清除浮动
.clearfix:before, clearfix:after {
content: "";
display: table;
}
.clear:after {
clear: both;
}
.clearfix {
*zoom: 1;
}