Spec-Zone.ru › CSS

Использование z-index

В первой статье этого руководства, Укладка без свойства z-index, объясняется, как укладка элементов организована по умолчанию. Если вы хотите создать пользовательский порядок укладки, вы можете использовать свойство z-index на позиционированном элементе.

Свойство z-index может быть задано целым числом (положительным, нулевым или отрицательным), которое представляет положение элемента вдоль воображаемой оси z. Если вы не знакомы с термином «ось z», представьте страницу как стопку слоёв, каждый из которых имеет номер. Слои отображаются в числовом порядке, причём более крупные номера располагаются поверх меньших (X представляет произвольное положительное целое число):

Слой Описание
Нижний слой Самый удалённый от наблюдателя
Слой -X Слои с отрицательными значениями z-index
Слой 0 Слой отображения по умолчанию
Слой X Слои с положительными значениями z-index
Верхний слой Самый близкий к наблюдателю

Примечание:

  • Когда свойство z-index не задано, элементы отображаются на слое отображения по умолчанию (Слой 0).
  • Если несколько элементов имеют одинаковое значение z-index (т. е. они находятся на одном слое), применяются правила укладки, описанные в разделе Укладка без свойства z-index.

Пример

В этом примере порядок укладки слоёв перестроен с помощью z-index. Свойство z-index DIV #5 не имеет эффекта, так как это не позиционированный элемент.

HTML

<div id="abs1">
  <strong>DIV #1</strong>
  <br />position: absolute; <br />z-index: 5;
</div>

<div id="rel1">
  <strong>DIV #2</strong>
  <br />position: relative; <br />z-index: 3;
</div>

<div id="rel2">
  <strong>DIV #3</strong>
  <br />position: relative; <br />z-index: 2;
</div>

<div id="abs2">
  <strong>DIV #4</strong>
  <br />position: absolute; <br />z-index: 1;
</div>

<div id="sta1">
  <strong>DIV #5</strong>
  <br />no positioning <br />z-index: 8;
</div>

CSS

div {
  padding: 10px;
  opacity: 0.7;
  text-align: center;
}

strong {
  font-family: sans-serif;
}

#abs1 {
  z-index: 5;
  position: absolute;
  width: 150px;
  height: 350px;
  top: 10px;
  left: 10px;
  border: 1px dashed #900;
  background-color: #fdd;
}

#rel1 {
  z-index: 3;
  height: 100px;
  position: relative;
  top: 30px;
  border: 1px dashed #696;
  background-color: #cfc;
  margin: 0px 50px 0px 50px;
}

#rel2 {
  z-index: 2;
  height: 100px;
  position: relative;
  top: 15px;
  left: 20px;
  border: 1px dashed #696;
  background-color: #cfc;
  margin: 0px 50px 0px 50px;
}

#abs2 {
  z-index: 1;
  position: absolute;
  width: 150px;
  height: 350px;
  top: 10px;
  right: 10px;
  border: 1px dashed #900;
  background-color: #fdd;
}

#sta1 {
  z-index: 8;
  height: 70px;
  border: 1px dashed #996;
  background-color: #ffc;
  margin: 0px 50px 0px 50px;
}

Результат

См. также

  • Укладка без свойства z-index: Правила укладки, которые применяются, когда z-index не используется.
  • Укладка плавающих элементов: Как обрабатываются плавающие элементы при укладке.
  • Контекст укладки: Примечания по контексту укладки.
  • Пример контекста укладки 1: 2-уровневая HTML-иерархия, z-index на последнем уровне
  • Пример контекста укладки 2: 2-уровневая HTML-иерархия, z-index на всех уровнях
  • Пример контекста укладки 3: 3-уровневая HTML-иерархия, z-index на втором уровне

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_positioned_layout/Understanding_z-index/Using_z-index

Spec-Zone.ru

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