前置知识: CSS

margin合并与塌陷

00:00
2 min Intermediate 2026/6/14

margin合并与塌陷

1. margin 合并

当两个垂直外距相遇时,合并为一个,取较大

.box1 {
  margin-bottom: 20px;
}
.box2 {
  margin-top: 30px;
}
/* 实际间距:30px(取较大值),而非 50px */

合并场景

场景示例
相邻兄弟两个 <p> 之间
元素与首个元素margin-top 与 margin-top
元素与末尾元素margin-bottom 与 margin-bottom
元素自身的 margin-top 与 margin-bottom

合并规则

2. margin 塌陷

元素的 margin-top 传递给父元素

解决方案

方案CSS说明
元素borderborder-top: 1px solid transparent触发 BFC
元素paddingpadding-top: 1px触发 BFC
元素 overflowoverflow: hidden触发 BFC
元素 displaydisplay: flow-root推荐

3. BFC(块格式化上下文)

触发条件:display: flow-rootoverflow: hiddenfloatposition: absolute/fixeddisplay: inline-block/flex/grid

BFC 作用:阻止 margin 塌陷浮动元素、阻止被浮动元素覆盖。

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式