Сейчас я работаю над страницей, на которой есть столбец ящиков с сексуальными тенями и углами, и еще много чего, используя пример здесь. Должен признаться, я не до конца понимаю, как работает этот CSS, но он выглядит великолепен.
Внутри самого верхнего поля находится поле ввода текстового типа, используемое для поиска. Это поле поиска подключено к виджету Автозаполнение YUI.
Все отлично работает в Firefox3 на Mac, FF2 на Windows, Safari на Mac. В IE7 на WinXP предложения автозаполнения отображаются под закругленными полями, что делает все, кроме первого, нечитаемыми (хотя вы все еще можете видеть достаточно взглядов между полями, и мне удобно, что IE7 действительно получает более одного предложения).
С чего начать поиск решения проблемы?
Вот как выглядит успех в FF2 на WinXP:

А вот как выглядит сбой в IE7:







Я не понимаю полностью настройки, которые приводят к проблеме, но вы можете изучить свойство useIFrame объекта YUI Autocomplete - он размещает объект iframe под полем автозаполнения, что позволяет полю затем плавать над объектами. которые скрывают его в ошибочной компоновке IE.
http://developer.yahoo.com/yui/docs/YAHOO.widget.AutoComplete.html#property_useIFrame
Но в документации говорится, что это имеет значение в 5.5 <IE <7, поэтому это может быть не проблема, с которой вы столкнулись. Итак, опять же, не полностью понимая настройку, с которой вы работаете, вы также можете попробовать поэкспериментировать с различными значениями z-индекс для поля автозаполнения и окружающих элементов уровня блока.
Извините за это - вы попробовали свойство z-index? Судя по скриншоту, который вы опубликовали после моего ответа, похоже, что это так. Я думаю, что есть панель инструментов разработчика для IE, которая позволит вам увидеть z-index различных элементов ...
Убедитесь, что z-index блока автозаполнения больше, чем у блоков div, составляющих прямоугольник с закругленными углами. Microsoft ставит z-index верхних элементов на 20000 или 100000, как мне кажется. Было бы разумно сделать то же самое.
Джереми,
Извините, что так поздно, но, надеюсь, ответ будет вам полезен в будущем проекте.
Проблема здесь в том, что IE создает новый порядок наложения каждый раз, когда есть элемент с position: relative, что означает, что z-index сам по себе не является единственным управляющим фактором. Подробнее об этом можно прочитать здесь:
http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html
Чтобы решить проблему, если я правильно понимаю вашу проблему, примените position: relative к контейнеру, который охватывает всю вашу реализацию автозаполнения (а затем position: absolute к вашему контейнеру результатов). Это должно создать независимый порядок наложения в IE для тех элементов, который позволяет им перемещаться по другой позиции: относительные стеки, которые появляются позже на странице.
С уважением, Эрик
У меня была аналогичная проблема, я исправил ее, просто изменив z-index для разных div. Просто установите большее число для каждого div в том порядке, в котором он должен отображаться.
В итоге я реализовал рабочее решение, основанное на многократном чтении это объяснение.
В базовом HTML все элементы с синими закругленными углами являются DIV, и все они являются братьями и сестрами (все дочерние элементы одного DIV).
Z-индекс самого автозаполнения div (который является праправнуком контейнера div с закругленными углами) может быть произвольно высоким, и это не решит эту проблему, потому что IE по существу рендерил все содержимое поиска box ниже - все содержимое поля «Vital Stats», потому что оба имеют z-index по умолчанию, а Vital Stats - это потом в HTML.
Хитрость заключалась в том, чтобы присвоить каждому из этих дочерних DIV (контейнеры с синими закругленными углами) нисходящие z-индексы и пометить их положение: относительное. Таким образом, синий div, содержащий поле поиска, - это z-index: 60, поле «Vital Stats» - это z-index: 50, «Теги» - это z-index: 40 и так далее.
Итак, в более общем плане найдите общего предка как элемента, который перекрывается, так и элемента, который перекрывается. К непосредственным потомкам общего предка примените z-индексы в том порядке, в котором вы хотите, чтобы контент отображался.
Из дюжины ответов на раздражающую ошибку z-index в Internet Explorer, которую я просмотрел, этот имеет рациональный смысл и (в отличие от других) сразу сработал для меня. Спасибо.
Спасибо, трюк с iframe действительно решил для меня некоторые проблемы в IE6, но, похоже, не влияет на эту проблему.