Вам необходимо присвоить position:absolute
дочерним элементам div (иначе z-index
не будет работать), таким образом они будут позиционироваться относительно своих родителей (как у них position:relative
).
Вам также необходимо удалить z-index
из родительских элементов div, потому что когда вы присваиваете z-index
относительным позиционированным элементам, дочерние элементы позиционируются относительно контекста стека их родителей. У вас есть полная документация здесь .
<div>
<div id="P1" style="position:relative">
<div id="P1_child" style="z-index: 2; position:absolute">P1</div>
</div>
<div id="P2" style="position:relative">
<div id="P2_child" style="z-index: 1; position:absolute">P2</div>
</div>
</div>
Или проверьте это и протестируйте в this jsFiddle