当父元素高度自适应时,其子元素浮动后,父元素的高度会变成0
开启BFC的方式:
a. 设置父元素浮动 .div1{ border: 10px solid black; float: left; } b. 设置元素绝对定位 .div1{ border: 10px solid black; position: absolute/fixed; } c. 设置父元素为行内块元素 .div1{ border: 10px solid black; display: inline-block; } d. 设置父元素的overflow值为非visible .div1{ border: 10px solid black; overflow: hidden; } 添加空白元素 .div1::after{ content: ""; display: table; clear: both; }IE6及以下
IE6及以下浏览器不支持BFC,使用hasLayout属性
.div1{ zoom: 1; }总结
将高度塌陷和垂直外边距重叠的问题一起解决的方案如下
.clearfix{ zoom:1; } .clearfix::before, .clearfix::after{ content: ''; display: table; clear: both; }