Я написал следующий исходный код.
В этом HTML и CSS .box2
отображается выше .box3
при наведении на .box3
.
Но это отличалось от моегоожидание.
Этот код ожидает, что box1
и box2
сгенерируют одинаковый контекст стека на уровне стека, а box3
с position: fixed
будет отображаться над другими элементами.
div {
width: 250px;
height: 250px;
}
.box1 {
background: #ffa;
position: relative;
}
.box2 {
background: #faf;
position: relative;
}
.box3,
.box4 {
opacity: 0;
background: green;
}
.box1:hover .box3,
.box2:hover .box4 {
opacity: 1;
}
.box4:hover,
.box3:hover {
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #aff;
}
<div class="box1">
<div class="box3"></div>
</div>
<div class="box2">
<div class="box4"></div>
</div>
Чтобы понять поведение, которое я ожидал, я должен установить z-index: 1;
в box 3
.Чтобы сделать это моим предсказанным поведением.
div {
width: 250px;
height: 250px;
}
.box1 {
background: #ffa;
position: relative;
}
.box2 {
background: #faf;
position: relative;
}
.box3,
.box4 {
opacity: 0;
background: green;
}
.box3 {
z-index: 1;
}
.box1:hover .box3,
.box2:hover .box4 {
opacity: 1;
}
.box4:hover,
.box3:hover {
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #aff;
}
<div class="box1">
<div class="box3"></div>
</div>
<div class="box2">
<div class="box4"></div>
</div>
Какая сила воздействует на каждый элемент, происходит ли она?
Я прочитал статью W3C, которую я искал, и ударил,и вводная статья z-index
, но я не мог понять эту проблему.