如果父元素只包含浮动元素,且父元素未设置高度和宽度,那么它的高度就会塌缩为零,也就是所谓的“高度塌陷”。
如果父级元素包含背景或者边框,那么溢出的元素就不像父级元素的一部分了。
解决“高度塌陷”问题的方法:
1.浮动父级元素,父级元素的高度就会扩大,直到完全包含它里面的浮动元素。如果使用这种方法,一定要在该元素的
下个元素添加clear:both,确保浮动元素落到父级元素的下方。
2.使用overflow:hidden,zoom:1 。overflow:hidden属性会强制父级元素扩大到包含浮动元素,zoom:1只是触发ie6
的hasLayout模式,不会对其他浏览器产生影响。
{
overflow:hidden;
zoom:1;
}
3.使用:after伪类清除,不会影响其他任何样式,通用性强。
.clearfix{
zoom:1;
}
.clearfix:after{
content:‘‘;
display:block;
height:0;
clear:both;
overflow:hidden;
}
原文地址:http://www.cnblogs.com/wqhwe/p/4011696.html