当两个或更多外边距相遇时,他们将形成一个外边距。这个外边距高度等于两个发生层叠的外边距的高度中的较大者。
1.当一个元素出现在另一个元素上面时,第一个元素的底外边距和第二个元素的定外边距发生叠加。
效果图:
代码:
1 4 5p1
6p2
7
其实默认的p的margin每个用户代理都不一样(chrome是1em),我把第二个段落的margin-top改成了1.5em,可以看出图片中p1的下边距和p2的上边距重叠,并且取p2的上边距作为他们的公共边距。
2.当一个元素包含在另外一个元素中时(假设没有内边距或边框将外边距分开),他们的顶和底外边距也会发生叠加。
效果图:
代码:
1 67 我是p中的span8
上面的例子中,p的外上边距和span的外上边距合并,前提是span也是display:block;
3.外边距可以与本身发生叠加。如果是一个空元素,有外边距,没有边框和内边距,顶外边距和底外边距发生叠加。
效果图:
代码:
1 7 811
如图所示,11上面就只有20像素。
margin叠加的应用:几个段落一起布局,第一个段落上面的顶外边距正常显示,底外边距和第二个段落的顶外边距重叠。
注意:只有普通文档流中的块框的垂直外边距才会发生外边距叠加。行内框,浮动框,绝对定位框之间的外边距都是不会叠加的。