В данном уроке мы с вами рассмотрим наложение элементов по оси Z. По умолчанию, если два элемента накладываются друг на друга, то выше будет тот элемент, который идет ниже в HTML коде.
Давайте посмотрим на примере. Пусть у нас есть два элемента, абсолютно спозиционированных так, чтобы накладываться друг на друга. В таком случае выше будет тот элемент, который идет ниже в HTML коде:
<div id="elem1"></div>
<div id="elem2"></div>
#elem1 {
position: absolute;
top: 30px;
left: 30px;
width: 100px;
height: 100px;
background: #ff8888;
}
#elem2 {
position: absolute;
top: 60px;
left: 60px;
width: 100px;
height: 100px;
background: #7e89eb;
}
:
Регулируем наложение
Порядок наложения элементов можно регулировать
с помощью свойства z-index
, принимающего
своим значением целые положительные или отрицательные
числа, либо ноль. Свойство работает только
для элементов, у которых значение position
задано как absolute
, fixed
или relative
.
При использовании данного свойства правило
наложения элементов следующее: выше будет
тот элемент, у которого значение z-index
больше.
Давайте поменяем порядок наложения элементов
из предыдущего примера. Для этого первому
элементу поставим z-index
больше,
чем у второго, например, вот так:
#elem1 {
z-index: 2;
}
#elem2 {
z-index: 1;
}
Результат выполнения кода:
Повторите страницу по данному образцу:
Повторите страницу по данному образцу:
Нюансы
Если z-index
у элемента не задан,
то его значение следует трактовать как 0
.
Это значит, что элемент со значением z-index
,
равным -1
, будет ниже элемента без
z-index
.
Можно переделать пример с нашими двумя элементами
следующим образом: просто задать второму
элементу z-index
в значение -1
,
и он станет под первый элемент:
#elem1 {
/* не задаем z-index */
}
#elem2 {
z-index: -1;
}
Результат выполнения кода:
Повторите страницу по данному образцу: