Я обнаружил, что часто, если z-индекс не работает, потому что у его родителя / братьев и сестер нет указанного z-индекса.
Так что если у вас есть:
<div id="1">
<a id="2" style="z-index:2"></a>
<div id="3" style="z-index:1"></div>
<button id="4"></button>
</div>
элемент № 3 или даже № 4, возможно, оспаривает № 2 за пространство щелчка / наведения, хотя, если вы установите # 1 на z-index 0, братья и сестры, z-index которых поместили их в независимые стеки, теперь находятся в тот же стек и будет правильно z-index.
Это полезное и довольно гуманизированное описание: http://foohack.com/2007/10/top-5-css-mistakes/