Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CSS Margin Collapsing

Tags:

css

margin

So essentially does margin collapsing occur when you don't set any margin or padding or border to a given div element?

like image 685
public static Avatar asked Sep 19 '08 15:09

public static


2 Answers

No. When you have two adjacent vertical margins, the greater of the two is used and the other is ignored.

So, for instance, if you have two block-display elements, A, followed by B beneath it, and A has a bottom-margin of 3em, while B has a top-margin of 2em, then the distance between them will be 3em.

If you set a border or padding, this prevents the collapsing from occurring. In the above example, the distance between the two elements will then be 5em.

If you don't set any margins, then there won't be any margins to collapse. It has nothing whatsoever to do with the element type in use - it is applicable to all element types, not just <div> elements.

Read the CSS 2.1 specification for more details.

like image 150
Jim Avatar answered Oct 30 '22 16:10

Jim


"the expression collapsing margins means that adjoining margins (no non-empty content, padding or border areas or clearance separate them) of two or more boxes (which may be next to one another or nested) combine to form a single margin."

Source: Box Model - 8.3.1 Collapsing margins

like image 34
Chris Serra Avatar answered Oct 30 '22 16:10

Chris Serra