Подтвердить что ты не робот

Существует ли верхний предел значений z-индекса в веб-браузерах?

У меня есть случай, когда стороннее объявление истекает кровью через мою реализацию модального окна. Я бы хотел максимально увеличить z-индекс модального наложения, чтобы объявление не показывалось поверх него. Существует ли ограничение на значения z-индекса? Я уверен, что это зависит от браузера. Кто-нибудь знает?

4b9b3361

Ответ 1

Имейте в виду, что z-index не работает глобально, но только внутри "контекста стекирования" (который трудно усвоить определение в CSS), и если объявление устанавливает собственный контекст стекирования, то значения z-index, установленные вами в другом месте, могут вообще не влиять на него.

Однако более вероятно, что это проблема "оконного" Flash (объект без атрибута wmode=transparent), который браузеры делают поверх всего, как будто это окно над окном браузера. В таком случае z-index вообще не поможет. Вам нужно заставить ad [-provider] использовать wmode=transparent или использовать некоторые сумасшедшие хаки с iframes.

Ответ 2

Максимальное значение zIndex, поддерживаемое большинством браузеров, равно 2147483647 (2 ^ 31-1), но Opera 9.2 не принимает значения, превышающие 2147483583; Они исправили его в версии 9.5.

Ответ 3

Не совсем, но вы можете рассмотреть естественные ограничения системы, такие как диапазон int. Я бы мог держать его под 32 767. Я определенно превысил это в javascript во время работы над подобной проблемой и не сталкивался с какими-либо проблемами на основных браузерах и платформах, которые меня беспокоили в то время.

В случае сторонних объявлений и накладок, убедитесь, что wmode = "transparent" во встроенной флэш-памяти является общей проблемой в тех же строках. Также стоит отметить, что IE имеет ошибку с укладкой z-индексов, поэтому, если вы не видите успеха, убедитесь, что вы не ударились головой о стену с помощью этого *.

Мне всегда нравится придерживаться конвенции, а не использовать произвольные цифры. Например, возможно, все в моем css находится между 0 и 10. Возможно, dhtml-материал происходит в значениях из 100 мест, с значимым z-индексом для любого данного модуля.

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

Ответ 4

Цитата из http://techtrouts.com/is-there-a-limit-to-the-css-z-index-property/:

Теоретически свойство z-index должно быть неограниченным или, по крайней мере, внутри диапазона типа int, в зависимости от ОС и браузера. Однако, чтобы избежать ошибок браузера, вы должны ограничить свои значения z-index до +/- 32767.