区块的上下外边距有时会合并(折叠)为单个边距,这种行为称为外边距折叠
形成外边距折叠的 3 种情况
- 相邻的块级元素(除非后面的元素需要清除之前的浮动)
- 父元素和子元素之间没有内容(重叠部分最终会溢出到父代元素的外面)
- 空的块级元素(会出现其上下外边距的折叠)
折叠后的外边距的值计算方式
- 都是正:两者之间较大的值
- 都是负:两者绝对值的较大值
- 有正有负:两者之和
Tip
外边距折叠仅与垂直方向有关
有设定浮动和绝对定位的元素不会发生外边距折叠
掌握外边距折叠 - CSS:层叠样式表 | MDN (mozilla.org)
【不一样的CSS】彻底搞懂 margin 重叠问题 - 掘金 (juejin.cn)