CSS 外边距合并。

 <div id = "parent">
       <div id = "child">
          demo
       </div>
    </div>
#parent {
  background: red;
   200px;
  height: 200px;
}
#child {
  background: green;
   50px;
  height: 50px;
  margin-top: 50px;
}

在IE8中#child div的margin没有传递到parent,但是FF出现了这种问题。

child的margin-top传递到了parent上.

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。

合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

消除这种影响的方法:设置padding和border或设置交元素为浮动,设置overfl:hidden;可解决

w3cschool的解释   http://www.w3school.com.cn/css/css_margin_collapsing.asp

来源:http://segmentfault.com/q/1010000000366724

原文地址:https://www.cnblogs.com/disneyland/p/4117322.html