#html #yui #z-index
#HTML #yui #z-индекс
Вопрос:
У меня есть диалоговое окно YUI с z-индексом, равным 1000. Затем на родительской странице есть небольшой выпадающий список на основе ul / li (не select), который имеет z-индекс 100. Это (всегда) идеально работает в моем окне разработки — выпадающий список находится за диалоговым окном.
Но на промежуточном сайте я получаю странное поведение, когда выпадающий список просматривается в диалоговом окне. Когда я проверяю z-индекс диалогового окна с помощью firebug, он установлен на 4! Выпадающий z-индекс по-прежнему равен 100. Это происходит только для особых случаев.
Мне было интересно, что может быть причиной изменения z-индекса диалогового окна на 4, когда мой код устанавливает его равным 1000.
Ответ №1:
Поскольку проблема возникает только в «особых случаях», это звучит как ошибка в вашем sw, а не в yui.
Некоторые идеи:
-
Внимательно проверьте ваш css в разделе «особые случаи», чтобы убедиться, что ваш файл css не превышает значение z-index. (Ваш css не должен устанавливать значение zindex, если оно задается программно с помощью YUI dialog.)
-
Проверьте свой код, в котором вы создаете диалоговое окно, чтобы убедиться, что ваш параметр z-index был установлен для каждого экземпляра диалогового окна. Возможно, z-индекс сбрасывается, когда диалоговое окно скрыто.
Комментарии:
1. Я проверил эти вещи, и ничего не кажется неправильным. Когда я говорю «частные случаи» — у нас в приложении есть разные альбомы, куда пользователи могут загружать фотографии и т.д. Эта проблема возникает только для некоторых альбомов.
2. Это когда-нибудь происходит сразу после загрузки страницы? Или это только после того, как диалоговое окно уже было показано, а затем скрыто? Извините, что у меня нет для вас более подробной информации. В Firebug есть функция изменения dom, которая может помочь. Вам нужно посмотреть, устанавливается ли z-индекс, затем сбросить его до неверного значения или по какой-то причине начальный набор не выполняется.
3. Это происходит сразу после загрузки страницы, когда диалоговое окно открывается в первый раз. Как вы сказали, начальный набор по какой-то причине не выполняется, потому что я установил zIndex в конструкторе Dialog, который должен выполняться при каждом первом открытии dialog.
4. При первоначальном создании диалогового окна обязательно укажите в нем некоторое содержимое. Существует / была ошибка, из-за которой структура dom диалогового окна не настраивается правильно, если в ней нет содержимого. Кроме того, попробуйте явно установить z-index в возвращаемом диалоговом окне top el, а не зависеть от конструктора для его установки.
5. Я предоставляю некоторый контент при создании диалогового окна, и я также попытался явно установить zIndex в нескольких местах, например, перед show (), В changeContentReady и т.д., Но По-прежнему безуспешно. Я заметил, что когда я выполняю тот же сценарий в IE8, маска за диалоговым окном становится полностью черной. Я читал в Интернете, что это проблема с IE8, но тогда это происходит только в тех конкретных случаях, когда другие браузеры выдают поведение, о котором я изначально говорил.