高度塌陷问题

高度塌陷问题

描述1:如果父元素只包含浮动元素,且父元素未设置高度和宽度,那么它的高度就会塌缩为零,也就是所谓的“高度塌陷”。

描述2:在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高。但是当子元素设置浮动之后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷。

解决“高度塌陷”问题的方法:

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;
}

原文地址:https://www.cnblogs.com/liyi-wutong/p/7673977.html