Правила
z-index
различаются в зависимости от того, позиционирован ли элемент или нет.Если вы расположите оба элемента, это сработает: http://jsfiddle.net/zPJm2/4/
Это немного сложнее, чем думает большинство из нас, когда мы начинаем с него.Для подробностей стоит прочитать актуальную спецификацию CSS на z-index
, но в основном существует несколько контекстов стека .Из спецификации:
Порядок, в котором дерево рендеринга нарисовано на холсте, описывается в терминах стековых контекстов.Контексты стека могут содержать дополнительные контексты стека.Контекст стекирования является атомарным с точки зрения его родительского контекста стекирования;ящики в других контекстах стекирования не могут находиться между любыми из его ящиков.
Каждый ящик принадлежит одному контексту стекаКаждый позиционированный блок в данном контексте стека имеет целочисленный уровень стека, который является его позицией на оси z относительно других уровней стека в том же контексте стека.Ящики с более высокими уровнями стека всегда форматируются перед ячейками с более низкими уровнями стека.Коробки могут иметь отрицательные уровни стека.Боксы с одинаковым уровнем стека в контексте стекирования располагаются задом наперед в соответствии с порядком дерева документов.
Корневой элемент формирует корневой контекст стека.Другие контексты суммирования генерируются любым позиционированным элементом (включая относительно позиционированные элементы), имеющим вычисленное значение z-index, отличное от auto.Контексты стека не обязательно связаны с содержащимися блоками.На будущих уровнях CSS другие свойства могут вводить контексты стекирования, например, «непрозрачность» [CSS3COLOR].
В каждом контексте стекинга следующие слои закрашиваются в обратном порядке:
- фон и границы элемента, формирующего контекст стека.
- дочерний контекст стека с отрицательными уровнями стека (сначала наиболее отрицательный).
- входящий поток, невстроенные непозиционированные потомки.
- непозиционированные поплавки.
- встроенные, встроенные непозиционированные потомки, включая встроенные таблицы и встроенные блоки.
- дочерние стековые контексты с уровнем стека 0 и позиционированные потомки с уровнем стека 0.
- дочерние стекированные контексты с положительными уровнями стека (сначала наименее положительный).