CSS防止高度塌陷四种方法

1,085 阅读1分钟

什么是高度塌陷

父元素不写高度时,子元素写了浮动后,父元素会发生高度塌陷(造成父元素高度为0父元素不写高度时,子元素写了浮动后,父元素会发生高度塌陷(造成父元素高度为 0)

解决方法

  1. 给父元素添加声明overflow:hidden

    • 优点:代码少、简单
    • 缺点: 不能和position定位配合使用,超出的尺寸会被隐藏
  2. 在浮动元素下方添加空div,并给元素声明 clear:both,保险起见,再加height:0。清除个别块元素可能自带的height:16px;

    • 缺点:需要添加多余的空标签并添加属性

  3. 推荐

box::after{
    content: "";
    display: block;
    clear: both;
    height: 0; /*为了清楚个别块元素自带的16px高度*/
    }
  1. 父元素添加浮动
    • 缺点: 可能产生新的浮动问题