- CSS margin Property
- Syntax
- Example of the margin property:
- Result
- Example of the margin property, where the margin of an element is set to 10% for all sides:
- Example of the margin property defined as «em»:
- Example of the margin property with the padding and border properties:
- Values
- Browser support
- margin
- Try it
- Constituent properties
- Syntax
- Values
- Description
- Horizontal centering
- Margin collapsing
- Formal definition
- Formal syntax
- Examples
- Simple example
- HTML
- CSS
- More examples
- Specifications
- Browser compatibility
- See also
- Found a content problem with this page?
- CSS Margins
- CSS Margins
- Margin — Individual Sides
- Example
- Margin — Shorthand Property
- Example
- Example
- Example
- Example
- The auto Value
- Example
- The inherit Value
- Example
- All CSS Margin Properties
CSS margin Property
The CSS margin property is used to create space around the element.
The margin property is a shorthand for the following properties:
We can use the margin property for all sides (top, bottom, left, right) at once. For the top side we use margin-top, for bottom margin-bottom, for left side margin-left and for right side margin-right.
The margin property can be defined with one, two, three, or four values:
- margin : 25px 10px 15px 20px. This code means that the margin in the top side must be 25px, in the right side margin 10px, in the bottom side 15px and the left side is 20px.
- margin: 15px 10px 20px. This means that the margin in the top side must be 15px, in the right and left sides 10px, and in the bottom side 20px.
- margin: 15px 10px. This code means that top and bottoms margins are 15px, right and left margins are 10px.
- If the margin has only one value it is applied to all four values.
Initial Value | 0 |
Applies to | All elements. |
Inherited | No. |
Animatable | Yes. Outline is animatable. |
Version | CSS1 |
DOM Syntax | Object.style.margin = «20px 10px»; |
Syntax
margin: length | auto | initial | inherit;
Example of the margin property:
html> html> head> title>Title of the document title> style> p < background-color: #1c87c9; color: #fff; margin: 25px 10px 15px 20px; > style> head> body> h2>Margin property example h2> p>Paragraph with background-color, color and margin properties. p> body> html>
Result
Example of the margin property, where the margin of an element is set to 10% for all sides:
html> html> head> title>Title of the document title> style> p.example < margin: 10%; > style> head> body> h2>Margin property example h2> p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. p> p class="example">Lorem Ipsum is simply dummy text of the printing and typesetting industry. p> p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. p> body> html>
Example of the margin property defined as «em»:
html> html> head> title>Title of the document title> style> p.example < margin: 4em; > style> head> body> h2>Margin property example h2> p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. p> p class="example">Lorem Ipsum is simply dummy text of the printing and typesetting industry. p> p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. p> body> html>
Let’s take a look at the following example which shows the difference between margin , padding and border properties:
Example of the margin property with the padding and border properties:
html> html> head> title>Title of the document title> style> div < background-color: #eee; width: 200px; border: 20px solid #8ebf42; padding: 30px; margin: 55px; > style> head> body> h2>Margin property example h2> div>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. div> body> html>
Values
Value | Description | Play it |
---|---|---|
auto | Sets the margin. It is the default value of this property. | Play it » |
length | Defines a margin in px, pt, cm, etc. Default value is 0. | Play it » |
% | Sets the margin in % of containing element. | Play it » |
initial | Makes the property use its default value. | Play it » |
inherit | Inherits the property from its parents element. |
Browser support
margin
The margin CSS shorthand property sets the margin area on all four sides of an element.
Try it
Constituent properties
This property is a shorthand for the following CSS properties:
Syntax
/* Apply to all four sides */ margin: 1em; margin: -3px; /* top and bottom | left and right */ margin: 5% auto; /* top | left and right | bottom */ margin: 1em auto 2em; /* top | right | bottom | left */ margin: 2px 1em 0 auto; /* Global values */ margin: inherit; margin: initial; margin: revert; margin: revert-layer; margin: unset;
The margin property may be specified using one, two, three, or four values. Each value is a , a , or the keyword auto . Negative values draw the element closer to its neighbors than it would be by default.
- When one value is specified, it applies the same margin to all four sides.
- When two values are specified, the first margin applies to the top and bottom, the second to the left and right.
- When three values are specified, the first margin applies to the top, the second to the right and left, the third to the bottom.
- When four values are specified, the margins apply to the top, right, bottom, and left in that order (clockwise).
Values
The size of the margin as a fixed value.
The size of the margin as a percentage, relative to the inline size (width in a horizontal language, defined by writing-mode ) of the containing block.
The browser selects a suitable margin to use. For example, in certain cases this value can be used to center an element.
Description
This property can be used to set a margin on all four sides of an element. Margins create extra space around an element, unlike padding , which creates extra space within an element.
The top and bottom margins have no effect on non-replaced inline elements, such as or .
Horizontal centering
To center something horizontally in modern browsers, you can use display : flex; justify-content : center; .
However, in older browsers like IE8-9 that do not support Flexible Box Layout, these are not available. In order to center an element inside its parent, use margin: 0 auto; .
Margin collapsing
Elements’ top and bottom margins are sometimes collapsed into a single margin that is equal to the larger of the two margins. See Mastering margin collapsing for more information.
Formal definition
- margin-bottom : 0
- margin-left : 0
- margin-right : 0
- margin-top : 0
- margin-bottom : the percentage as specified or the absolute length
- margin-left : the percentage as specified or the absolute length
- margin-right : the percentage as specified or the absolute length
- margin-top : the percentage as specified or the absolute length
Formal syntax
Examples
Simple example
HTML
div class="center">This element is centered.div> div class="outside">This element is positioned outside of its container.div>
CSS
.center margin: auto; background: lime; width: 66%; > .outside margin: 3rem 0 0 -3rem; background: cyan; width: 66%; >
More examples
margin: 5%; /* All sides: 5% margin */ margin: 10px; /* All sides: 10px margin */ margin: 1.6em 20px; /* top and bottom: 1.6em margin */ /* left and right: 20px margin */ margin: 10px 3% -1em; /* top: 10px margin */ /* left and right: 3% margin */ /* bottom: -1em margin */ margin: 10px 3px 30px 5px; /* top: 10px margin */ /* right: 3px margin */ /* bottom: 30px margin */ /* left: 5px margin */ margin: 2em auto; /* top and bottom: 2em margin */ /* Box is horizontally centered */ margin: auto; /* top and bottom: 0 margin */ /* Box is horizontally centered */
Specifications
Browser compatibility
BCD tables only load in the browser
See also
- Introduction to the CSS basic box model
- Margin collapsing
- margin-top , margin-right , margin-bottom , and margin-left
- The mapped logical properties: margin-block-start , margin-block-end , margin-inline-start , and margin-inline-end and the shorthands margin-block and margin-inline
Found a content problem with this page?
This page was last modified on Jul 18, 2023 by MDN contributors.
Your blueprint for a better internet.
CSS Margins
Margins are used to create space around elements, outside of any defined borders.
CSS Margins
The CSS margin properties are used to create space around elements, outside of any defined borders.
With CSS, you have full control over the margins. There are properties for setting the margin for each side of an element (top, right, bottom, and left).
Margin — Individual Sides
CSS has properties for specifying the margin for each side of an element:
All the margin properties can have the following values:
- auto — the browser calculates the margin
- length — specifies a margin in px, pt, cm, etc.
- % — specifies a margin in % of the width of the containing element
- inherit — specifies that the margin should be inherited from the parent element
Tip: Negative values are allowed.
Example
Set different margins for all four sides of a
element:
Margin — Shorthand Property
To shorten the code, it is possible to specify all the margin properties in one property.
The margin property is a shorthand property for the following individual margin properties:
If the margin property has four values:
- margin: 25px 50px 75px 100px;
- top margin is 25px
- right margin is 50px
- bottom margin is 75px
- left margin is 100px
Example
Use the margin shorthand property with four values:
If the margin property has three values:
- margin: 25px 50px 75px;
- top margin is 25px
- right and left margins are 50px
- bottom margin is 75px
Example
Use the margin shorthand property with three values:
If the margin property has two values:
- margin: 25px 50px;
- top and bottom margins are 25px
- right and left margins are 50px
Example
Use the margin shorthand property with two values:
If the margin property has one value:
Example
Use the margin shorthand property with one value:
The auto Value
You can set the margin property to auto to horizontally center the element within its container.
The element will then take up the specified width, and the remaining space will be split equally between the left and right margins.
Example
The inherit Value
Example
div <
border: 1px solid red;
margin-left: 100px;
>All CSS Margin Properties
Property Description margin A shorthand property for setting all the margin properties in one declaration margin-bottom Sets the bottom margin of an element margin-left Sets the left margin of an element margin-right Sets the right margin of an element margin-top Sets the top margin of an element