IE7 помещает абсолютно позиционный div внизу, игнорирует z-index - PullRequest
2 голосов
/ 02 августа 2010

Попытался исправить это самостоятельно, но пока не получилось.

Желтые div-коды автозаполнения, которые появляются, когда вы начинаете печатать в поле темы или местоположения, отображаются ниже другой текст в IE7.Это веб-сайт:

http://www.universitytutor.com

Установка более высокого Z-индекса не помогла.Работает во всех других браузерах (IE8, FF, Chrome, Safari), но не в IE7.Есть идеи?

Пример http://dl.dropbox.com/u/324237/autocomplete.png

Ответы [ 5 ]

9 голосов
/ 02 августа 2010

Алгоритм размещения в IE нарушен. Вы должны поместить родительский элемент элемента, который вы хотите, сверху, присвоить ему позицию типа relative, если у него его еще нет, и положительный z-индекс.

Это обычно разрешит это. Если нет, продолжайте пытаться родителем этого, пока не получите его.

6 голосов
/ 02 августа 2010

Это старая проблема IE z-indexing на работе. Вам нужно будет вернуться к первому уровню в дереве DOM, где предки взаимодействующих элементов являются братьями и сестрами, и на этом уровне z-индексы должны быть установлены так, чтобы родительский элемент области поиска / автозаполнения был выше родительского. содержания.

Чтобы это работало, вам нужно установить z-index для #homepage_search и z-index для этого первого элемента div.wrapper после него, а z-index для #homepage_search должен быть выше. Я предлагаю добавить уникальный класс к этому первому элементу .wrapper, который следует за #homepage_search, чтобы вы могли написать для него правило CSS. В этом случае, если вы свернете свое дерево DOM вниз (в чем-то вроде firebug), оно в конечном итоге будет выглядеть примерно так, как вы видите ниже, все элементы div прямо под "body".

+<body>
 +<div id="uservoice-feedback">
 +<div id="login">
 +<div id="header">
 +<div id="homepage">
 +<div id="homepage_search">  (give z-index: 2)
 +<div class="wrapper">       (give z-index: 1)
 +<div class="wrapper">
 +...

Надеюсь, это имеет смысл? Вам также необходимо установить #homepage_search для относительного или абсолютного позиционирования, чтобы он даже пытался использовать z-index. Если вам все еще не повезло, вы можете попытаться добавить этот z-индекс 2 к каждому элементу внутри # homepage_search.

2 голосов
/ 14 апреля 2011

Еще один полезный пример для исправления этой ошибки http://starikovs.com/2011/04/13/absolute-elements-ignore-z-index-in-ie6-and-ie7/

1 голос
/ 02 августа 2010

Вы также должны увеличить z-индекс относительного div, который его держит.

0 голосов
/ 22 июля 2012

Увеличьте z-индекс PARENT элемента, который вы хотите сверху, до числа, которое выше, чем z-индекс элемента, под которым ваш div похоронен.

Также убедитесь, чтоРОДИТЕЛЬ имеет абсолютное положение или относительное положение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...