在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?

01:兄弟元素合并:

当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并


02 父子间合并:

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

03  空元素:

假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并

04  如果这个外边距遇到另一个元素的外边距,它还会发生合并:

如何合并:

两个相邻的外边距都是正数时,合并结果是它们两者之间较大的值。

两个相邻的外边距都是负数时,合并结果是两者绝对值的较大值。

两个外边距一正一负时,合并结果是两者的相加的和。

解决办法:

对于兄弟元素:设置浮动,display:inline-block或使其父元素均形成BFC可防止边距合并(如overflow:hidden)

对于父子间的元素:可以给父元素设置border或padding属性来防止合并。

对于空元素:设置border或padding属性或overflow:hidden等(形成BFC)来防止合并。

作者:Maggie_77

链接:https://www.jianshu.com/p/141fbe7d78a5

來源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?)