The margin-top CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer.

This property has no effect on non-replaced inline elements, such as <span> or <code>.


/* <length> values */
margin-top: 10px;  /* An absolute length */
margin-top: 1em;   /* relative to the text size */
margin-top: 5%;    /* relative to the nearest block container's width */

/* Keyword values */
margin-top: auto;

/* Global values */
margin-top: inherit;
margin-top: initial;
margin-top: revert;
margin-top: unset;

The margin-top property is specified as the keyword auto, or a <length>, or a <percentage>. Its value can be positive, zero, or negative.



The size of the margin as a fixed value.


The size of the margin as a percentage, relative to the width of the containing block.


The browser selects a suitable value to use. See margin.

Formal definition

Initial value0
Applies toall elements, except elements with table display types other than table-caption, table and inline-table. It also applies to ::first-letter and ::first-line.
Percentagesrefer to the width of the containing block
Computed valuethe percentage as specified or the absolute length
Animation typea length

Formal syntax

<length> | <percentage> | auto


Setting positive and negative top margins

.content { margin-top:   5%; }
.sidebox { margin-top: 10px; }
.logo    { margin-top: -5px; }
#footer  { margin-top:  1em; }


CSS Box Model Module Level 3 (CSS Box Model 3)
# margin-physical

Browser compatibility

BCD tables only load in the browser

See also