Контекст наложения
Если с помощью z-index
изменять порядок наложения элементов друг на друга, в некоторых случаях могут возникать проблемы из-за свойств, создающих новый контекст наложения.
Свойства, создающие контекст{{ excerpt_separator }}:
— opacity
со значением меньше 1,
— transform
,
— perspective
,
— filter
.
В качестве подопытного кролика возьмем такую конструкцию:
По умолчанию голубой элемент накладывается на красный, но я задала красному элементу z-index: 10;
, чтобы видеть действие свойств, создающих контекст.
Теперь зададим родителю первого элемента одно из вышеперечисленных свойств, например: opacity: .99
:
Первый элемент получил свой контекст наложения, и теперь z-index
будет рассчитываться внутри него.
Здесь видно, что красный элемент перекрывает зеленый, потому что у красного задан высокий z-index
, при этом весь левый элемент перекрывается правым, несмотря на высокое значение z-index
у красного элемента:
Можно попробовать это обойти, добавив z-index
самому родителю, но в этом случае родительский элемент будет перекрывать всё содержимое второго элемента, что не всегда может быть нужно:
Кроме того, частое использование z-index
может затруднить дальнейшую отладку и поддержку кода.
- Метки:
- раскладка