css高度塌陷3种常用方式

什么是高度塌陷?

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

 

原代码: 

<div id="yeluosen">
     <div id="a1"></div>
     <div id="a2"></div>
</div>

 

1.加一个空div标签清除浮动(缺点:不利于优化,优点:兼容性强)

<div style="clear:both"></div>

2. overflow+zoom(优点:兼容性强。 缺点:对margin属性有影响,不能设负值,设负值无效。负值绝对定位也不可以。)

#yeluosen{
     overflow:hidden;
     zoom:1;
}

3.after+zoom (最好用的,最推荐的,兼容性也很好)

#yeluosen{
    zoom:1
}
#yeluosen:after{
     display:block;
     content:'',
     clear:both;
     height:0;
     overflow:hidden
}

4.让父元素本身也浮动(不推荐,如果也设置浮动,父元素宽度就会随着子元素变化)

#yeluosen{
    float:left;
}

 

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值