Перекрывание селектов в IE6

Даже через абсолютно спозиционированные ДИВ-ы с максимальным zIndex-ом в ИЕ6 "проглядывают" селекты. Задача: подобрать HTML/CSS-способы перекрывания селектов.

Реализация селектов в браузере Internet Explorer 6 такова, что перекрыть их обычными блочными элементами (ДИВ-ы, таблицы) даже при максимальном zIndex-е у последних не получится. Выглядит этот эффект вот так (у ДИВа z-index:10000):

Перекрывание селектов в IE6

Экспериментальным путем было выявлено, что единственный элемент, перекрывающий селекты в ИЕ6 - это iframe. При грамотном подборе стилей, его можно привести к виду, неотличимому от обычного ДИВа:

css

У такого способа есть свои плюсы:

+ проблема решается силами HTML/CSS и верстка кроссбраузерна;
+ iframe-у даже не нужно задавать zIndex, он и так перекрывает селект:

и минусы:

- border всё-таки "съедается" селектом, что хорошо заметно на рисунке ;;
- iframe при своем вызове засоряет хистори браузера;
- чтобы заполнить iframe контентом, требуется отдельная страница. Однако, эта особенность поправима с помощью JavaScript.

Замечания


1) Flash-объекты также не перекрывают селекты в IE6.
2) Существуют JavaScript-фикс для перекрываемости селектов в ИЕ6, однако, его использование имеет свои минусы и подойдет не для всякого случая. Будьте внимательны при его использовании.

Автор: Александр Бурцев