CSS margin Property

Set all the four margins of a <p> element:

p {
margin: 2cm 4cm 3cm 4cm;

Try it Yourself »

Definition and Usage

The margin shorthand property sets all the margin properties in one declaration. This property can have from one to four values.


  • margin:10px 5px 15px 20px;
    • top margin is 10px
    • right margin is 5px
    • bottom margin is 15px
    • left margin is 20px
  • margin:10px 5px 15px;
    • top margin is 10px
    • right and left margins are 5px
    • bottom margin is 15px
  • margin:10px 5px;
    • top and bottom margins are 10px
    • right and left margins are 5px
  • margin:10px;
    • all four margins are 10px

Note: Negative values are allowed.

Default value: 0
Inherited: no
Animatable: yes, see individual propertiesRead about animatableTry it
Version: CSS1
JavaScript syntax: object.style.margin=”100px 50px” Try it
CSS Syntax
margin: length|auto|initial|inherit;
Property Values
Value Description
length Specifies a margin in px, pt, cm, etc. Default value is 0
% Specifies a margin in percent of the width of the containing element
auto The browser calculates a margin
initial Sets this property to its default value. Read about initial
inherit Inherits this property from its parent element. Read about inherit

Margin Collapse

Top and bottom margins of elements are sometimes collapsed into a single margin that is equal to the largest of the two margins.

This does not happen on horizontal margins (left and right)! Only vertical margins (top and bottom)!

Look at the following example:


h1 {
margin: 0 0 30px 0;
}p {
margin: 20px 0 0 0;

Try it Yourself »

In the example above, the <h1> element has a bottom margin of 30px. The <p> element has a top margin set to 20px.

Common sense would seem to suggest that the vertical margin between the <h1> and the <p> would be a total of 50px (30px + 20px). But due to margin collapse, the actual margin ends up being 30px.