首页 > 代码库 > 边距折叠

边距折叠

  • 发生折叠需要是相邻的非浮动元素;
  • 折叠发生在垂直外边距上,即margin-top/margin-bottom;
  • 折叠后取其中最大的那个margin值作为最终值;
  • 浮动元素不折叠。

在水平书写模式下,发生 margin 折叠的是垂直方向,即 margin-top/margin-bottom,在垂直书写模式下,margin 折叠发生在水平方向上,即 margin-right/margin-left

  • margin 折叠元素只发生在块元素上;
  • 浮动元素不与其他元素 margin 折叠;
  • 定义了属性overflow且值不为visible(即创建了新的块级格式化上下文)的块元素,不与它的子元素发生margin 折叠;
  • 绝对定位元素的 margin 不与任何 margin 发生折叠。
  • 特殊:根元素的 margin 不与其它任何 margin 发生折叠;

http://blog.doyoe.com/~posts/css/2013-12-04-margin%E7%B3%BB%E5%88%97%E4%B9%8B%E5%A4%96%E8%BE%B9%E8%B7%9D%E6%8A%98%E5%8F%A0.md