区块的上下外边距有时会合并(折叠)为单个边距,这种行为称为外边距折叠

形成外边距折叠的 3 种情况

  • 相邻的块级元素(除非后面的元素需要清除之前的浮动)
  • 父元素和子元素之间没有内容(重叠部分最终会溢出到父代元素的外面)
  • 空的块级元素(会出现其上下外边距的折叠)

折叠后的外边距的值计算方式

  • 都是正:两者之间较大的值
  • 都是负:两者绝对值的较大值
  • 有正有负:两者之和

Tip

外边距折叠仅与垂直方向有关
有设定浮动和绝对定位的元素不会发生外边距折叠

掌握外边距折叠 - CSS:层叠样式表 | MDN (mozilla.org)
【不一样的CSS】彻底搞懂 margin 重叠问题 - 掘金 (juejin.cn)