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.

Try it

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: revert-layer;
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 inline size (width in a horizontal language, defined by writing-mode) 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

margin-top = 
<length-percentage> |

<length-percentage> =
<length> |


Setting positive and negative top margins

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


Unknown specification
# margin-physical

Browser compatibility

BCD tables only load in the browser

See also