外边距塌陷(外边距合并)

外边距合并

使用margin定义块元素的垂直外边距时,可能会出现外边距的合并。

相邻块元素垂直外边距的合并

当上下相邻的两个块元素相遇时如下图,如果上面的元素设置了下外边距margin-bottom,下面的元素设置上外边距margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和,而是两者中的较大者。这种现象被称为相邻块元素垂直外边距的合并(也称外边距塌陷)。

外边距塌陷(外边距合并)

解决方案: 避免就好了。

嵌套块元素垂直外边距的合并

对于两个嵌套关系的块元素,如果父元素没有上内边距padding-top及边框border,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者,即使父元素的上外边距为0,也会发生合并。

外边距塌陷(外边距合并)

 

解决方案:

  1. 可以为父元素定义1像素的上边框或上内边距。

  2. 可以为父元素添加overflow:hidden。