W3docs

CSS свойство top

CSS свойство top задаёт верхнюю позицию элемента в сочетании со свойством position. Примеры и живые демо.

CSS свойство top задаёт вертикальное положение позиционированного элемента, отсчитываемое от верхнего края опорного блока. Само по себе оно ничего не делает — эффект проявляется лишь тогда, когда элемент имеет значение position, отличное от значения по умолчанию static.

На этой странице объясняется, как top работает для каждого значения position, какие единицы измерения можно использовать, типичные ошибки, а также как оно взаимодействует со свойствами bottom, left и right.

Как работает top

Опорный блок, от которого отсчитывается top, и смысл смещения зависят от значения position элемента:

  • position: absolute или fixedtop смещает элемент от верхнего края его содержащего блока (для absolute — ближайшего позиционированного предка; для fixed — viewport). Большее значение top сдвигает элемент ниже.
  • position: relativetop сдвигает элемент вниз относительно его нормального положения, не влияя на расположение окружающих элементов. Место, которое элемент изначально занимал, сохраняется.
  • position: stickytop задаёт расстояние от верха контейнера прокрутки, при котором элемент «прилипает» во время скроллинга. top: 0 закрепляет его у самого верха.
  • position: statictop полностью игнорируется. Это значение по умолчанию, поэтому сначала всегда устанавливайте position.

Если у абсолютно позиционированного элемента с height: auto заданы и top, и bottom, элемент растягивается для выполнения обоих условий; в противном случае top имеет приоритет, а bottom игнорируется.

Информация

Отрицательные значения допустимы — top: -20px выдвигает абсолютно или фиксированно позиционированный элемент выше опорного края, а относительно позиционированный — выше его нормального положения.

Начальное значениеauto
Применяется кПозиционированным элементам.
НаследуетсяНет.
АнимируетсяДа.
ВерсияCSS2
DOM СинтаксисObject.style.top = "50px";

Синтаксис

Синтаксис CSS свойства top

top: auto | length | initial | inherit;

Пример свойства top:

Пример CSS свойства top со значением length

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        background-color: #8ebf42;
        height: 200px;
        width: 600px;
        position: relative;
      }
      p {
        margin: 0;
        color: #eee;
        position: absolute;
        border: 2px solid #666;
      }
      .ex1 {
        top: 0;
      }
      .ex2 {
        top: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Top property example</h2>
    <div>
      <p class="ex1">Some text (top: 0;)</p>
      <p class="ex2">
        Lorem ipsum is simply dummy text...(this text is positioned 50 pixels down from the top edge of the containing positioned element.)
      </p>
    </div>
  </body>
</html>

Результат

CSS свойство top

Пример свойства top с отрицательным значением:

Пример CSS свойства top с отрицательным значением

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        background-color: #666;
        height: 200px;
        position: relative;
      }
      p {
        margin: 0;
        color: #fff;
      }
      .top {
        position: absolute;
        top: -35px;
        color: #000000;
      }
    </style>
  </head>
  <body>
    <h2>Top property example</h2>
    <div>
      <p>Some text.</p>
      <p class="top">Text with the top property.</p>
    </div>
  </body>
</html>

Пример свойства top с единицами "pt", "%" и "em":

Пример свойства top со значениями "pt", "%" и "em":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        background-color: #8ebf42;
        height: 200px;
        width: 600px;
        position: relative;
      }
      p {
        margin: 0;
        color: #eee;
        position: absolute;
        border: 2px solid #666;
      }
      .ex1 {
        top: 5em;
      }
      .ex2 {
        top: 10pt;
      }
      .ex3 {
        top: 75%;
      }
    </style>
  </head>
  <body>
    <h2>Top property example</h2>
    <div>
      <p class="ex1">Some text (top: 0;)</p>
      <p class="ex2">
        Lorem ipsum is simply dummy text...(this text is positioned 50 pixels down from the top edge of the containing positioned element.)
      </p>
      <p class="ex3">
        Lorem ipsum is simply dummy text...(this text is positioned 50 pixels down from the top edge of the containing positioned element.)
      </p>
    </div>
  </body>
</html>

Значения

ЗначениеОписаниеДемо
autoУстанавливает позицию верхнего края. Это значение по умолчанию.Play it »
lengthЗадаёт позицию верхнего края в px, cm и т.д. Отрицательные значения допустимы.Play it »
%Задаёт позицию верхнего края в % от высоты содержащего элемента. Отрицательные значения допустимы.Play it »
initialУстанавливает свойство в значение по умолчанию.Play it »
inheritНаследует свойство от родительского элемента.

При использовании процентного значения оно вычисляется относительно высоты содержащего блока, а не его ширины. Таким образом, top: 50% на абсолютно позиционированном элементе сдвигает его вниз на половину высоты родителя.

Типичные ошибки

  • Забытое position. top не действует на static-элемент. Если смещение кажется проигнорированным, убедитесь, что position задан как relative, absolute, fixed или sticky.
  • Отсутствующий позиционированный предок. absolute-элемент отсчитывается от ближайшего позиционированного предка. Если такого нет, отсчёт ведётся от исходного содержащего блока (корневого блока размером с viewport). Добавьте родителю position: relative, чтобы ограничить его.
  • sticky не прилипает. position: sticky работает только пока элемент прокручивается внутри предка, у которого действительно есть переполнение. Значение top без прокручиваемого контейнера или родитель с overflow: hidden приведут к тому, что эффект не проявится.
  • Одновременное использование top и bottom. На auto-высотном абсолютном элементе они растягивают его; в противном случае top имеет приоритет, а bottom игнорируется.

Связанные свойства

  • position — необходимо для вступления top в силу.
  • bottom, left, right — остальные свойства смещения, используемые совместно с top для позиционирования элементов.
  • z-index — управляет порядком наложения при перекрытии позиционированных элементов.

Практика

Практика
Что делает CSS свойство 'top'?
Что делает CSS свойство 'top'?
Was this page helpful?