CSS 垂直外边距的 [重叠] [塌陷] 问题

上下外边距合并(重叠)

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。

合并后的外边距高度等于两个外边距高度较大的那一个。

一般这种情况不需要解决,只需要设置其中一个的外边距即可

或者给其中一个加上父元素,不在同级即可


外边距塌陷

当一个元素包含在另个元素中时(假设没有内边距或边框把外边距分隔开),它们的上外边距/下外边距也会发生合并,合并后的外边距高度等于两个外边距高度较大的那一个。

只设置了子元素的上外边距时,子元素未移动,而是父元素向下移动相等距离,也属于外边距塌陷

解决方法:

  1. 父元素加上一个边框 border-top: 1px solid #ffff;
  2. 父元素设置绝对定位 position: absolute;
  3. 父元素设置为行内块元素 display: inline-block;(table-cell / flex / inline-flex 都可以)
  4. 父元素设置浮动 float: left;
  5. 父元素设置溢出部分隐藏 overflow: hiddle;(overflow ≠ visible 即可)

 2-5的解决方法我们叫做“触发盒子的BFC模型”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值