Margin collapsing occurs in three basic cases:
- Adjacent siblings
The margins of adjacent siblings are collapsed (except when the later sibling needs to be cleared past floats). For example:
<p>The bottom margin of this paragraph is collapsed...</p> <p>...with the top margin of this paragraph.<p>
- Parent and first/last child
If there is no border, padding, inline content, or clearance to separate the
margin-topof a block with the
margin-topof its first child block, or no border, padding, inline content, height, min-height, or max-height to separate the
margin-bottomof a block with the
margin-bottomof its last child, then those margins collapse. The collapsed margin ends up outside the parent.
- Empty blocks
- 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.
More complex margin collapsing (of more than two margins) occurs when these cases are combined.
These rules apply even to margins that are zero, so the margin of a first/last child ends up outside its parent (according to the rules above) whether or not the parent's margin is zero.
When negative margins are involved, the size of the collapsed margin is the sum of the largest positive margin and the smallest (most negative) negative margin.
- CSS Reference
- CSS Key Concepts: CSS syntax, specificity and inheritance, the box, layout modes and visual formatting models, and margin collapsing, or the initial, computed, used and actual values. Definitions of value syntax, shorthand properties and replaced elements.
- Margin-related properties: