上下div,margin重合

外边距重叠的意义

外边距的重叠只产生在普通流文档的上下外边距之间,这个看起来有点奇怪的规则,其实有其现实意义。设想,当我们上下排列一系列规则的块级元素(如段落P)时,那么块元素之间因为外边距重叠的存在,段落之间就不会产生双倍的距离。

防止外边距重叠解决方案:
虽然外边距的重叠有其一定的意义,但有时候我们在设计上却不想让元素之间产生重叠,那么可以有如下几个建议可供参考:

  1. 外层元素padding代替   不产生重合
  2. 内层元素透明边框 border:1px solid transparent; //更改参照对象
  3. 内层元素绝对定位 postion:absolute: 脱离文档流强制位置
  4. 外层元素 overflow:hidden; bfc
  5. 内层元素 加float:left;或display:inline-block; 
  6. 内层元素padding:1px;
原文地址:https://www.cnblogs.com/joer717/p/10971926.html