Se si imposta grado di valore diverso static
, ma non sembra ancora del z-index
vostro elemento di lavorare, può essere che alcuni elemento genitore ha impostato z-index
.
I contesti di impilamento hanno una gerarchia e ogni contesto di impilamento viene considerato nell'ordine di sovrapposizione del contesto di impilamento del genitore.
Quindi, con seguente codice HTML
div { border: 2px solid #000; width: 100px; height: 30px; margin: 10px; position: relative; background-color: #FFF; }
#el3 { background-color: #F0F; width: 100px; height: 60px; top: -50px; }
<div id="el1" style="z-index: 5"></div>
<div id="el2" style="z-index: 3">
<div id="el3" style="z-index: 8"></div>
</div>
non importa quanto grande sarà impostato il z-index
di el3
, sarà sempre sotto el1
perché è genitore ha una minore contesto di stratificazione. È possibile immaginare l'ordine di impilamento come livelli in cui l'ordine di sovrapposizione di el3
è in realtà 3.8 che è inferiore a .
Se si desidera controllare accatastamento contesti di elementi padre, è possibile utilizzare questo:
var el = document.getElementById("#yourElement"); // or use $0 in chrome;
do {
var styles = window.getComputedStyle(el);
console.log(styles.zIndex, el);
} while(el.parentElement && (el = el.parentElement));
There is a great article about stacking contexts on MDN
si prega di spingere il vostro codice per una migliore comprensione – sandeep