I have a serious problem with z-index and my code. I want to have an popup on every row and positioned relative to that row. So I created this code:
<div class="level1">
<div class="level2">
<input type="text" value="test1" />
<div class="popup">test1</div>
</div>
<div class="level2">
<input type="text" value="test2" />
<div class="popup">test2</div>
</div>
</div>
with te following style
.level1
{
position:relative;
z-index:2;
}
.level2
{
position:relative;
z-index:3;
}
.popup
{
position:absolute;
left:0px;
top:10px;
width:100px;
height:100px;
background:yellow;
z-index:4;
}
I know i'm doing something very wrong, but i don't find my stupidity.
When you set
position: relative
on an element then you establish a new containing block. All positioning inside that block is with respect to it.Setting z-index on an element inside that block will only alter its layer with respect to other elements inside the same block.
I'm not aware of any work-arounds.
You can use
z-index
with therelative
position. You just need to specifyposition: relative
. If you really want it to look like it is popping up, I suggest usingbox-shadow
try adding z-index with negative values to the back divs