Top and bottom margins of blocks are sometimes combined (collapsed) into a single margin whose size is the largest of the margins (if the elements had equal margin it will take one of them, it doesn't sum them together) combined into it, a behavior known as margin collapsing.
Margin collapsing occurs in three basic cases:
<p>The bottom margin of this paragraph is collapsed...</p> <p>...with the top margin of this paragraph.</p>
block_formatting_contextcreated or clearance to separate the
margin-topof a block from the
margin-topof its first child block, or no border, padding, inline content,
max-heightto separate the
margin-bottomof a block from the
margin-bottomof its last child, then those margins collapse. The collapsed margin ends up outside the parent.
min-heightto separate a block's
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.
If both are negative, the greater negative value is used. This definition applies to adjacent elements and nested elements.
|CSS Level 2 (Revision 1) |
The definition of 'margin collapsing' in that specification.
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.