Привет, У меня есть следующий код HTML
<body>
<div class="relative1">
<div class="fixed1"> </div>
</div>
<div class="relative2"> </div>
</body>
и CSS
.relative1 {
left: 0px;
top: 0px;
width: 100px;
height: 100px;
background-color: red;
position: relative;
z-index: 1;
}
.fixed1 {
width: 100px;
height: 100px;
left: 20px;
top: 20px;
background-color: green;
position: fixed;
z-index: 2;
}
.relative2 {
width: 100px;
height: 100px;
left: 30px;
top: -80px;
background-color: blue;
position: relative;
z-index: 1;
}
Пример: FIDDLE
Вы можете видеть, что div.relative2
охватывает мой div.fixed1
чего я не хочу. Мне нужно покрыть все своим div.fixed1
. Есть ли способ сделать это без изменения css для .relative1
и .relative2
css?
Не вставляйте фиксированный div в относительный div:
<body>
<div class="relative1">
</div>
<div class="fixed1"> </div>
<div class="relative2"> </div>
</body>
Фиксированные элементы не связаны с относительно позиционированными элементами; они прилипают к экрану.
Следовательно, я не вижу причины их гнездовать.
задавать
.relative2{
z-index: -1;
}
.relative1
и .relative1