Если мы используем z-index
в сочетании с position: absolute;
, его можно поместить ::before
элемента под собой. Есть хороший пример в другом вопросе (jsfiddle.net/Ldtfpvxy).
В основном
<div id="element"></div>
#element {
position: relative;
width: 100px;
height: 100px;
background-color: blue;
}
#element::after {
content: "";
width: 150px;
height: 150px;
background-color: red;
/* create a new stacking context */
position: absolute;
z-index: -1; /* to be below the parent element */
}
оказывает:
Таким образом, контекст/порядок стекирования определяется z-index
. Но когда я применяю z-index: 1;
к элементу и z-index: -1;
к его ::before
, я не могу добиться того же.
Только если я опускаю z-index
из элемента.
Любые идеи, почему это так? Является ли элемент визуализированным после его псевдонимов ::before
и ::after
, поэтому они получают одинаковый z-index
?
Работа: https://jsfiddle.net/Ldtfpvxy/
Не работает: https://jsfiddle.net/Ldtfpvxy/1/ (добавлен только элемент z-index: 1;
в элемент)