Элементы фиксированной позиции всегда располагаются относительно окна.
Однако, если элемент фиксированной позиции находится внутри контейнера относительной позиции, дочерний элемент с фиксированной позицией будет подчиняться z-индексу контейнера относительной позиции,Это означает, что если какие-либо братья и сестры контейнера также являются относительными и имеют более высокий z-индекс, они будут охватывать положение фиксированного дочернего элемента.
Пример: https://jsfiddle.net/r4n6Lzhx/2/
<style>
.container1 {
position: relative;
z-index: 2;
height: 200px;
width: 100%;
background-color: yellow;
box-shadow: 5px 5px 3px #888888;
}
.container2 {
position: relative;
background-color: green;
z-index: 1;
height: 200px;
}
.overlay {
position: fixed;
top: 50px;
left: 50px;
right: 50px;
bottom: 50px;
background: black;
opacity: .8;
z-index: 3;
}
</style>
<div class="container1"></div>
<div class="container2">
<div class="overlay"></div>
</div>
Есть ли способ сделать так, чтобы фиксированная позиция дочернего элемента "экранировала" z-индекс родителя, изменяя только CSS дочернего элемента, а не родительский CSS?
Желаемым конечным результатом является контейнер 1, закрывающий контейнер 2, но оверлей (который является дочерним элементом контейнера 2), покрывающий контейнер 1, , и я не могу изменить CSS контейнера1 или контейнера 2 .