Ответ 1
Это невозможно, так как дочерний z-index
установлен в тот же индекс стека, что и его родитель.
Вы уже решили проблему, удалив z-index из родителя, сохраните его так, или сделайте элемент родным, а не дочерним.
Предположим, что у меня есть этот код:
<div class="parent">
<div class="child">
Hello world
</div>
</div>
<div class="wholePage"></div>
Этот jsFiddle: http://jsfiddle.net/ZjXMR/
Теперь мне нужно иметь <div class="child">
в верхней части <div class="wholePage">
, но в jsFiddle вы можете увидеть, что дочерний элемент, обработанный до <div class="wholePage">
.
Если вы удалите класс parent
position
или z-index
, все будет хорошо. Это правильное поведение, которое мне нужно: http://jsfiddle.net/ZjXMR/1/
Как я могу сделать это с помощью z-index
и не удаляя что-либо со страницы?
Это невозможно, так как дочерний z-index
установлен в тот же индекс стека, что и его родитель.
Вы уже решили проблему, удалив z-index из родителя, сохраните его так, или сделайте элемент родным, а не дочерним.
Чтобы достичь желаемого без удаления каких-либо стилей, вам нужно сделать z-индекс класса ".parent" более крупным, чем класс ".wholePage".
.parent {
position: relative;
z-index: 4; /*matters since it sibling to wholePage*/
}
.child {
position: relative;
z-index:1; /*doesn't matter */
background-color: white;
padding: 5px;
}
jsFiddle: http://jsfiddle.net/ZjXMR/2/
Укажите родительский индекс z: -1 или непрозрачность: 0.99
Нет ничего невозможного. Используйте силу.
.parent {
position: relative;
}
.child {
position: absolute;
top:0;
left: 0;
right: 0;
bottom: 0;
z-index: 100;
}
Используйте нестатические позиции вместе с большим z-индексом в дочернем элементе:
.parent {
position: absolute
z-index: 100;
}
.child {
position: relative;
z-index: 101;
}
Попробуйте использовать этот код, он работает для меня:
z-index: unset;