CSS Margin Collapsing
- Previous Page CSS Margins
- Next Page CSS Padding
Margin collapsing refers to the formation of a margin when two vertical margins meet.
The height of the collapsed margin is equal to the larger of the two margins that collapse.
Margin collapsing
Margin collapsing (stacking) is a relatively simple concept. However, in practice, it can cause a lot of confusion when laying out web pages.
In simple terms, margin collapsing refers to the formation of a margin when two vertical margins meet. The height of the collapsed margin is equal to the larger of the two margins that collapse.
When an element appears above another element, the bottom margin of the first element will collapse with the top margin of the second element. See the following figure:

When an element is contained within another element (assuming there are no padding or borders to separate the margins), their top and/or bottom margins will also collapse. See the following figure:

Although it may seem a bit strange, margins can even collapse with themselves.
Suppose there is an empty element with margins but no border or padding. In this case, the top and bottom margins meet each other, and they will collapse:

If this margin encounters another element's margin, it will also collapse:

This is why a series of paragraph elements occupy such a small space, because all their margins collapse into a small margin.
Margin collapsing may seem a bit strange at first glance, but in fact, it makes sense. Take a typical text page composed of several paragraphs as an example. The space above the first paragraph is equal to the top margin of the paragraph. If there is no margin collapsing, the margins between all subsequent paragraphs will be the sum of the adjacent top and bottom margins. This means that the space between paragraphs will be twice the space at the top of the page. If margin collapsing occurs, the top and bottom margins between paragraphs will collapse together, making the distances consistent throughout.

Note:Only the vertical margins of block boxes in the normal document flow will cause margin collapsing. The margins between inline boxes, floating boxes, or absolutely positioned boxes will not collapse.
All CSS margin properties
Property | Description |
---|---|
margin | A shorthand property used to set the margin properties in a single declaration. |
margin-bottom | Set the bottom outer margin of the element. |
margin-left | Set the left outer margin of the element. |
margin-right | Set the right outer margin of the element. |
margin-top | Set the top outer margin of the element. |
- Previous Page CSS Margins
- Next Page CSS Padding