Ошибка выпадающего z-индекса в IE

У меня проблема с выпадающим меню под IE (6 и 7).

http://www.amaconsulting.pl/promocje.html

Как видите, раскрывающийся список скрывается за основной областью содержимого в IE.

Это известная ошибка, и общий совет - установить z-index для областей заголовка и содержимого, чтобы IE знал их "место", объясненное в статье здесь: http://bit.ly/coSPcI

Я установил z-index для.header div в 20, а.featured,.content,.primary,.main в 1, пытаясь найти правильный div для решения проблемы. Хотя раскрывающийся список перестал скрываться за элементом.featured, он все еще скрывается за основными элементами содержимого (либо.primary, либо.main,.secondary - это нормально).

Z-индексы для этих div-ов задаются в отдельной таблице стилей, т.е..css, на случай, если кто-то их будет искать.

Если бы кто-то мог дать какой-то совет, я был бы очень благодарен.

3 ответа

Ok оригинальное решение здесь - швейцарский кредитный сайт. Это работает, но использует сложное решение z-index. Здесь очень простое и улучшенное решение - галерея изображений Jeyjoo. Работает в IE6+, Firefox, Opera, Safari и Chrome.

Решение

HTML

<div id="container_page" class="container_page">
  <div id="container_header" class="container_header">
    NAV BAR GOES HERE
  </div>
  <div id="container_body" class="container_body">
    ...body text...
  </div>
</div>

CSS

#container_page #container_header {position:relative;z-index:2;}
#container_page #container_body {position:relative;}

почему это работает

Вы должны сказать IE, как два div связаны друг с другом.

Я управлял работой z-index здесь, в подменю - Chkredit - швейцарский кредитный веб-сайт. Работает во всех версиях IE и имеет легкий и 100% CSS (без javascript).

IE не использует z-index правильно. Проверьте z-index в CSS-коде сайта. Вам нужно будет поставить z-index -1 на элементы, за которыми скрывается ваше меню.

Я сейчас работаю над точно такой же проблемой для моей собственной галереи изображений (перейдите на страницу "top image") - галерея изображений jeyjoo. Когда я разберусь с этим, я опубликую полное решение здесь.

В IE, если абсолютно позиционированный элемент имеет z-индекс, он содержит относительно позиционированный элемент, который должен указывать z-индекс (z-index:1), чтобы абсолютно позиционированный элемент мог появляться поверх других относительно позиционированных элементов.,

Поэтому я думаю, что вы должны дать вашему ul.nav z-index 1. Я на самом деле написал об этом в своем блоге.

Обновлено: так что если я изменю стиль видимости скрытого ul на видимый, он появится над div, как и должно быть до тех пор, пока ul.nav имеет положительное значение z-index. Поэтому я думаю, что это как-то связано с тем, как ваш JS отображает выпадающее меню из этого скрытого UL. Если у меня нет всего вашего HTML/CSS/JS, я не могу решить эту проблему, поэтому могу лишь указать вам правильное направление и думаю, что понимание этой страницы вам очень поможет.

Другие вопросы по тегам