Ответ
Частая причина — отсутствие position (не static). z-index работает только с position: relative/absolute/fixed/sticky.
Пример:
<div style="position: relative; z-index: 2;">Первый</div>
<div style="position: relative; z-index: 1;">Второй</div>
<!-- Первый div будет выше -->
Другие причины:
- Элементы в разных контекстах стека (например, родитель с
z-indexсоздаёт новый контекст). opacity < 1,transformилиfilterтоже создают новый контекст.- Одинаковые значения
z-index(приоритет у элемента, который ниже в DOM).
Проверь position и контексты!