为什莫要清除浮动呢?
由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占位置,脱标,最后父级盒子就没有高度变为0,就会影响到下面的标准流盒子,即下面的盒子会跑到浮动的子盒子的底下,占据原本父盒子的位置。
清除浮动的四种方法:
1.额外标签法
会在浮动元素的末尾添加一个空的标签,例如<div style="clear:both"></div>
或者其他标签(如<br /
等)
注意哦:要求这个空标签必须是块级元素哦!!
2.父级添加overflow属性
可以给父级元素添加overflow属性,将其属性值设置为hidden,auto或者scroll都可以
3.父级添加after伪元素
:after方式是额外标签法的升级版,也是给父元素添加
.clearfix:after{
content:"";
display:table;
height:0;
clear:both;
visibility:hidden;
}
.clearfix{
*zoom:1;
}
4.父级添加双伪元素
也是给父元素添加
.clearfix:before, .clearfix:after{
content:"";
display:table;
}
.clearfix:after{
clear:both;
}
.clearfix{
*zoom:1;
}