参考文章:https://juejin.im/post/5965c46ef265da6c2518f5ec
1.外边距合并
块的顶部外边距和底部外边距有时候会被折叠为单个外边距,其大小为两值中的最大值,这种行为就被称为外边距合并。
一般发生外边距合并主要有以下三种情况:
1.相邻兄弟姐妹元素
2.父元素和子元素
3.空元素
相邻兄弟姐妹元素
两个兄弟元素之间的外边距,会取两个元素外边距的最大值。
<p style="margin-bottom: 30px;">这个段落的下外边距被合并...</p>
<p style="margin-top: 20px;">...这个段落的上外边距被合并。</p>
按照上面的例子可以得出,两个p元素之间距离为30px。
父元素和子元素
这种情况又可以分为以下两种:
1.父元素的上外边距和第一个子元素的上外边距
2.父元素的下外边距和最后一个子元素的下外边距
这两种情况,最终显示出来的结果都是取二者中的最大值。
空元素
自己的上外边距会和自己的下外边距合并
假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并:
如果这个外边距遇到另一个元素的外边距,它还会发生合并: