父元素高度坍塌是由子元素浮动引起的,所以为了解决这一问题,有以下几种方法:
1.给父元素一个固定的高度;(在父元素可以有固定高度的情况下)
2.给父元素添加浮动属性;(在父元素确实需要浮动的情况下)
3.BFC:给父元素添加{overflow:hidden/auto;}属性;(如果子元素需要定位,溢出部分会被隐藏)
4.清除浮动:(1) 直接在父元素后加伪类元素
.fu::after{
content:'';
display:block;
clear:both;
}
(2)由于页面中很多元素都需要使用清除浮动,为了提高代码的重复使用率,给父元素添加类名clearfix
/*如果你需要兼容IE/7/6 需要把以下这句加上*/
.clearfix {*zoom: 1;}
/* 很多元素都需要清除浮动,为了避免写多次,创建一个类名 */
.clearfix::after{
content: '';
display: block;
clear: both;
}