Какова цель свойства CSS z-index?
Свойство z-index
в CSS используется для управления порядком наложения элементов на веб-странице. Оно определяет, какой элемент будет отображаться выше или ниже других элементов, когда они перекрывают друг друга.
Когда элементы имеют различные значения z-index
, браузер использует эти значения, чтобы решить, какой элемент отображать поверх других. Элементы с большим значением z-index
будут отображаться выше, чем элементы с меньшими значениями.
Основные моменты о z-index:
z-index
работало, у элемента должно быть задано свойство position
со значением relative
, absolute
, fixed
или sticky
. Элементы с position: static
(значение по умолчанию) не учитываются в стеке наложения.z-index
создает новый "контекст наложения". Это означает, что элементы внутри этого контекста будут следовать правилам наложения только по отношению друг к другу, и не будут учитывать элементы вне этого контекста.Пример использования z-index
Рассмотрим следующий пример, где два блока div перекрываются:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Пример z-index</title>
<style>
.box1 {
width: 200px;
height: 200px;
background-color: red;
position: relative;
z-index: 1; /* Этот блок будет ниже */
}
.box2 {
width: 200px;
height: 200px;
background-color: blue;
position: relative;
z-index: 2; /* Этот блок будет выше */
margin-top: -100px; /* Сдвигаем для наложения */
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
</body>
</html>
Объяснение кода
.box1
) имеет красный фон и значение z-index: 1
. Это значит, что он будет отображаться ниже второго блока..box2
) синим фоном и значением z-index: 2
будет поверх первого блока благодаря более высокому z-index
. Мы также добавили отрицательный верхний отступ для того, чтобы он перекрывал первый блок.Зачем использовать z-index?
Свойство z-index
особенно полезно при создании сложных интерфейсов, где элементы часто перекрываются. Например, в модальных окнах, всплывающих подсказках (tooltip) и когда вы создаете навигационные меню с подменю.
Помните, что при неправильном использовании z-index
могут возникать проблемы с видимостью элементов, поэтому важно управлять значениями z-index
аккуратно и соблюдать логику их назначения.