The 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:
The margins of adjacent siblings are collapsed (except when the latter sibling needs to be cleared past floats).
The vertical margins between a parent block and its descendants can collapse. This happens when there is no separating content between them. Specifically, this occurs in two main cases:
margin-top
of a parent collapses with the margin-top
of its first in-flow descendant unless the parent has a border-top
, padding-top
, contains any inline content (such as text), or has clearance applied.margin-bottom
of a parent collapses with the margin-bottom
of its last in-flow descendant unless the parent has a defined height
or min-height
, a border-bottom
, or padding-bottom
.In both cases, creating a new block formatting context on the parent will also prevent its margins from collapsing with its children.
If there is no border, padding, inline content, height
, or min-height
to separate a block's margin-top
from its margin-bottom
, then its top and bottom margins collapse.
Some things to note:
display
set to flex
or grid
.<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>
CSS
div {
margin: 2rem 0;
background: lavender;
}
p {
margin: 0.4rem 0 1.2rem 0;
background: yellow;
}
Result See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4