top and bottom margins of blocks are sometimes combined (collapsed) into a single margin whose size is the largest of the individual margins (or just one of them, if they are equal), a behavior known as margin collapsing . Note that the margins of floating and absolutely positioned elements never collapse.
Margin collapsing occurs in three basic cases:
margin-top
of a block from the
margin-top
of one or more of its descendant blocks; or no border, padding, inline content,
height
,
min-height
,或
max-height
to separate the
margin-bottom
of a block from the
margin-bottom
of one or more of its descendant blocks, then those margins collapse. The collapsed margin ends up outside the parent.
height
,或
min-height
to separate a block's
margin-top
从其
margin-bottom
, then its top and bottom margins collapse.
Some things to note:
<p>The bottom margin of this paragraph is collapsed …</p> <p>… with the top margin of this paragraph, yielding a margin of <code>1.2rem</code> in between.</p> <div>This parent element contains two paragraphs! <p>This paragraph has a <code>.4rem</code> margin between it and the text above.</p> <p>My bottom margin collapses with my parent, yielding a bottom margin of <code>2rem</code>.</p> </div> <p>I am <code>2rem</code> below the element above.</p>
div {
margin: 2rem 0;
background: lavender;
}
p {
margin: .4rem 0 1.2rem 0;
background: yellow;
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
CSS Level 2 (Revision 1)
The definition of 'margin collapsing' in that specification. |
推荐 | 初始定义。 |
height
margin-bottom
margin-left
margin-right
margin-top
margin-trim
max-height
max-width
min-height
min-width
overscroll-behavior
overscroll-behavior-block
overscroll-behavior-inline
overscroll-behavior-x
overscroll-behavior-y
padding
padding-bottom
padding-left
padding-right
padding-top
visibility
width