Перекрывание селектов в IE6
Даже через абсолютно спозиционированные ДИВ-ы с максимальным zIndex-ом в ИЕ6 "проглядывают" селекты. Задача: подобрать HTML/CSS-способы перекрывания селектов.
Реализация селектов в браузере Internet Explorer 6 такова, что перекрыть их обычными блочными элементами (ДИВ-ы, таблицы) даже при максимальном zIndex-е у последних не получится. Выглядит этот эффект вот так (у ДИВа z-index:10000):
Экспериментальным путем было выявлено, что единственный элемент, перекрывающий селекты в ИЕ6 - это iframe. При грамотном подборе стилей, его можно привести к виду, неотличимому от обычного ДИВа:
У такого способа есть свои плюсы:
+ проблема решается силами HTML/CSS и верстка кроссбраузерна;
+ iframe-у даже не нужно задавать zIndex, он и так перекрывает селект;
и минусы:
- border всё-таки "съедается" селектом, что хорошо заметно на рисунке ↑;
- iframe при своем вызове засоряет хистори браузера;
- чтобы заполнить iframe контентом, требуется отдельная страница. Однако, эта особенность поправима с помощью JavaScript.
Замечания
1) Flash-объекты также не перекрывают селекты в IE6.2) Существуют JavaScript-фикс для перекрываемости селектов в ИЕ6, однако, его использование имеет свои минусы и подойдет не для всякого случая. Будьте внимательны при его использовании.
© Все права на данную статью принадлежат порталу webew.ru. Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции.