Существует ли верхний предел значений z-index в веб-браузерах?
Вопрос
У меня есть случай, когда сторонняя реклама просачивается сквозь мою реализацию модального окна. Я хотел бы повысить z-индекс модального наложения как можно выше, чтобы объявление не показывалось поверх него. Есть ли предел значениям z-index? Я уверен, если есть, это зависит от браузера. Кто-нибудь знает?
Решение
Помните, что z-index
не работает глобально, а только в «стековом контексте» (который трудно переварить определение в CSS), и если объявление устанавливает собственный контекст размещения, то z-index
значения, которые вы установили в другом месте, могут вообще не влиять на него.
Однако, скорее всего, это проблема " оконного " Flash (объект без атрибута wmode = transparent
), который браузеры отображают поверх всего, как если бы это было окно над окном браузера . В таком случае z-index
совсем не поможет. Вам нужно будет заставить ad [-provider] использовать wmode = transparent
или использовать несколько сумасшедших хаков с iframes.
Другие советы
Максимальное значение zIndex, поддерживаемое большинством браузеров, равно 2147483647 (2 ^ 31-1), но Opera 9.2 не принимает значения больше 2147483583; Они исправили это в версии 9.5.
Не совсем, но вы можете рассмотреть естественные ограничения системы, например, диапазон int. Я бы держал его под 32 767 . Я определенно превзошел это в javascript, работая над аналогичной проблемой, и не столкнулся с какими-либо проблемами в основных браузерах и платформах, которые меня беспокоили в то время.
В случае сторонних рекламных объявлений и наложений, убедитесь, что wmode = " прозрачный " на вставке флэш-памяти является распространенной проблемой в том же духе. Также стоит отметить, что в IE есть ошибка со сложением z-индексов, поэтому, если вы не видите успеха, убедитесь, что вы не ударяете головой об стену с этим *.
Мне всегда нравится придерживаться какого-то соглашения , а не использовать произвольные цифры. Например, может быть, все в моем CSS находится между 0 и 10 . Может быть, дело в dhtml происходит в 100-х местах с осмысленным z-индексом для любого данного модуля.
* Sidenote: В частности, ошибка IE заключается в том, что IE рассматривает новый экземпляр потока документов как новый контекст стека для z-index. Вы должны убедиться, что ваши z-индексы не теряются в иерархии DOM, когда дочерний узел, который обычно наследовал бы ваш z-индекс, отображается в своем собственном контексте позиционирования.
Цитата из http: // techtrouts.com/is-there-a-limit-to-the-css-z-index-property/ :
Теоретически свойство z-index должно быть неограниченным или, по крайней мере, в пределах типа int, в зависимости от ОС и браузера. Однако, чтобы избежать ошибок браузера, вы должны ограничить значения z-index до +/- 32767.