Spec-Zone.ru › CSS

`top` CSS property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It's been available across browsers since July 2015.

The top CSS property sets the vertical position of a positioned element. This inset property has no effect on non-positioned elements.

Try it

top: 0;
top: 4em;
top: 10%;
top: 20px;
<section id="default-example">
  <div class="example-container">
    <div id="example-element">I am absolutely positioned.</div>
    <p>
      As much mud in the streets as if the waters had but newly retired from the
      face of the earth, and it would not be wonderful to meet a Megalosaurus,
      forty feet long or so, waddling like an elephantine lizard up Holborn
      Hill.
    </p>
  </div>
</section>
.example-container {
  border: 0.75em solid;
  padding: 0.75em;
  text-align: left;
  position: relative;
  width: 100%;
  min-height: 200px;
}

#example-element {
  background-color: #264653;
  border: 4px solid #ffb500;
  color: white;
  position: absolute;
  width: 140px;
  height: 60px;
}

The effect of top depends on how the element is positioned (i.e., the value of the position property):

  • When position is set to absolute or fixed, the top property specifies the distance between the element's outer margin of the top edge and the inner border of the top edge of its containing block, or, in the case of anchor positioned elements when the anchor() function is used within the value, relative to the specified <anchor-side> edge. The top property is compatible with the top, bottom, start, end, self-start, self-end, center, and <percentage> values.
  • When position is set to relative, the top property specifies the distance the element's top edge is moved below its normal position.
  • When position is set to sticky, the top property is used to compute the sticky-constraint rectangle.
  • When position is set to static, the top property has no effect.

When both top and bottom values are specified, there are three different cases:

  • If position is set to absolute or fixed and height is unspecified (either auto or 100%), both the top and bottom values are respected.
  • If position is set to relative or height is constrained, the top property takes precedence and the bottom property is ignored.
  • If position is set to sticky, both top and bottom values are considered. This means that a sticky element can potentially move up and down within its containing block based on the values of these two properties as long as the element's position box remains contained within its containing block.

Syntax

/* <length> values */
top: 3px;
top: 2.4em;
top: anchor(bottom);
top: anchor-size(--my-anchor self-block, 10%);

/* <percentage>s of the height of the containing block */
top: 10%;

/* Keyword value */
top: auto;

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

Values

<length>
A negative, null, or positive <length>:
  • for absolutely positioned elements, it represents the distance to the top edge of the containing block.
  • for anchor-positioned elements, the anchor() function resolves to a <length> value relative to the position of the associated anchor element's top or bottom edge (see Using inset properties with anchor() function values), and the anchor-size() function resolves to a <length> value relative to the associated anchor element's width or height (see Setting element position based on anchor size).
  • for relatively positioned elements, it represents the distance that the element is moved below its normal position.
<percentage>
A <percentage> of the containing block's height.
auto
Specifies that:
  • for absolutely positioned elements, the position of the element is based on the bottom property, while height: auto is treated as a height based on the content; or if bottom is also auto, the element is positioned where it should vertically be positioned if it were a static element.
  • for relatively positioned elements, the distance of the element from its normal position is based on the bottom property; or if bottom is also auto, the element is not moved vertically at all.

Formal definition

Initial value auto
Applies to positioned elements
Inherited no
Percentages refer to the height of the containing block
Computed value if specified as a length, the corresponding absolute length; if specified as a percentage, the specified value; otherwise, <code>auto</code>
Animation type $1$, <a href="/en-US/docs/Web/CSS/Reference/Values/percentage#interpolation" title="Values of the <percentage> CSS data type are interpolated as real, floating-point numbers.">percentage</a> or calc();

Formal syntax

top = 
  auto |
  <length-percentage> |
  <anchor()> |
  <anchor-size()>

<length-percentage> = 
  <length> |
  <percentage>

<anchor()> = 
  anchor( <anchor-name>? &&
  <anchor-side>, <length-percentage>? )

<anchor-size()> = 
  anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )

<anchor-name> = 
  <dashed-ident>

<anchor-side> = 
  inside |
  outside |
  top |
  left |
  right |
  bottom |
  start |
  end |
  self-start |
  self-end |
  <percentage> |
  center

<anchor-size> = 
  width |
  height |
  block |
  inline |
  self-block |
  self-inline

Examples

A positioned element set 10% from the top

body {
  background: beige;
}

div {
  position: absolute;
  top: 10%;
  right: 40%;
  bottom: 20%;
  left: 15%;
  background: gold;
  border: 1px solid blue;
}
<div>The size of this content is determined by the position of its edges.</div>

Specifications

Specification
CSS Positioned Layout Module Level 3
# insets

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS
top
1
12
1
6
1
18
4
14
1
1.0
4.4
1
anchor
125
125
147
111
26
125
147
83
26
27.0
125
26
anchor-size
132
132
147
117
26
132
147
87
26
29.0
132
26
auto
1
12
1
15
1
18
4
14
1
1.0
4.4
1

See also

  • bottom, left, and right
  • inset shorthand
  • inset-block-start, inset-block-end, inset-inline-start, and inset-inline-end
  • inset-block and inset-inline shorthands
  • position
  • CSS positioned layout module

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/top

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API