2012-01-03 4 views
0

Следующий пример - очень упрощенная версия моей верхней навигации.IE7 z-index с неупорядоченным списком

http://jsfiddle.net/AEqxT/

Если вы смотрите в большинстве браузеров, вы должны увидеть два зеленых элементы списка рядом с Афоризм, с синей коробкой или «значком» сидит на вершине, преодоление разрыва между ними. Однако в IE7 синий ящик всегда падает ниже второго ли. Я пробовал всевозможные исправления. Установка более высокого z-индекса родительской ul ничего не изменила, и если я использую position: relative; на «значке», он теряет свою ширину и высоту.

Есть ли очевидное право на это, что мне не хватает?

ответ

0

Вы, вероятно, бороться с вашим значком в с LI, вывести его из списка, и вы должны быть в порядке, с немного баловаться с позиции:

http://jsfiddle.net/AEqxT/2/

Если вы абсолютно чтобы получить его в LI, тогда вам, вероятно, придется использовать JS для этой работы.

+0

мне понравилась ваша идея о удалив значок из ли, но я не мог позиционировать его абсолютно так, как вы предполагали, поскольку значки генерируются программно, поэтому их позиция никогда не бывает последовательной. Поэтому вместо этого я создал еще один li с значком между двумя основными элементами списка, так как это - http://jsfiddle.net/A2Pe3/1/. Это не совсем семантический, но, похоже, он выполняет эту работу. Спасибо за вдохновение! – Sam

0

Это reported IE7 bug.

Вы можете это исправить с решением JS публикуемую в this question, или вы можете вручную установить различные Z-индексы для всех <li> элемента, упорядоченный от высоких до низких значений:

http://jsfiddle.net/AEqxT/3/

Смежные вопросы