То, что у вас есть, правильно применять z-index: позиция типа относительная, фиксированная или абсолютная. Проблема с IE заключается в том, что он не применяет z-индекс элемента глобально ко всему документу, как в других браузерах.
В IE z-index применяется только в контексте стека, который автоматически создается любым элементом, к которому применяется относительное, фиксированное или абсолютное положение.
В результате вы, скорее всего, получили следующее, поэтому z-index работает не так, как вы ожидаете:
<div style="position: relative">
<div style="position: relative; z-index: 1;">
</div>
</div>
<div style="position: relative">
<div style="position: relative; z-index: 2;">
</div>
</div>
В приведенном выше примере все браузеры , но IE всегда помещают z-index: 2 div выше z-index: 1. Однако IE не всегда будет, потому что оба элемента находятся в их собственной структуре контекст и поэтому их z-индексы не применяются друг к другу.
Исправление заключается в добавлении z-индекса к родительским элементам, которые создают отдельный контекст стека:
<div style="position: relative; z-index: 1;">
<div style="position: relative;">
</div>
</div>
<div style="position: relative; z-index: 2;">
<div style="position: relative;">
</div>
</div>