I would like to know why display:grid and display: block affect how children elements stack each other?
In my code below, one outter container, two inner children.
.absolute-position
is absolute positioned while .container
is relative positioned.
Even if setting z-index: 10000
on .blocked
not able to raise it up which is different from display: block
on container.
const container = document.querySelector(".container");
function toggle(){
container.classList.toggle("grid");
}
.absolute-position {
position: absolute;
background: white;
top: 10px;
left: 10px;
bottom: 10px;
right: 10px;
}
.grid {
display: grid;
}
.container {
width: 100px;
height: 100px;
background: burlywood;
position: relative;
}
.blocked {
background: #a1c572;
z-index: 10000;
}
<div class="container grid">
<div class="absolute-position"></div>
<div class="blocked">abc</div>
</div>
<button onclick="toggle()">Toggle</button>