Web浏览器中的z-index值是否有上限?

时间:2008-10-22 22:20:07

标签: browser z-index

我有一个案例,第三方广告正在通过我的模态窗口实现流血。我想尽可能高地提高模态叠加层的z-index,这样广告就不会显示在它上面。 z-index值是否有限制?我确定它是否因浏览器而异。有人知道吗?

4 个答案:

答案 0 :(得分:18)

大多数浏览器支持的最大zIndex值为2147483647(2 ^ 31-1),但Opera 9.2不接受大于2147483583的值;他们在版本9.5中修复了它。

答案 1 :(得分:13)

请注意,z-index不能全局使用,只能在'堆叠上下文'(CSS中难以消化definition)内,以及广告是否建立了自己的堆叠上下文,那么你在别处设置的z-index值可能根本不会影响它。

然而,更有可能的是“窗口化”Flash(没有wmode=transparent属性的对象)的问题,哪些浏览器在所有内容上呈现,就好像是浏览器窗口上方的窗口 。在这种情况下,z-index根本无济于事。您需要强制广告[-provider]使用wmode=transparent或使用iframe疯狂的黑客攻击。

答案 2 :(得分:10)

不是,但您可能会考虑系统的自然限制,例如int范围。我可能保持在32,767以下。在处理类似的问题时,我肯定超过了javascript,并且在我当时关注的主流浏览器和平台上没有遇到任何问题。

对于第三方广告和叠加层,确保Flash嵌入上的 wmode =“透明”是一个常见问题。另外值得注意的是,IE有一个堆叠z索引的错误,所以如果你没有看到成功,请确保你没有用那个*撞墙。

我总是喜欢某种约定,而不是使用任意数字。例如,我的 css中的所有内容都可能介于0到10之间。也许dhtml的东西发生在100的位置值中,对于任何给定的模块都有一个有意义的z-index。

*旁注:具体而言,IE错误是IE认为文档流的新实例是z-index的新堆叠上下文。当正常继承z-index的子节点正在呈现它自己的定位上下文时,您需要确保您的z索引不会在DOM层次结构中丢失。

答案 3 :(得分:3)

引自http://techtrouts.com/is-there-a-limit-to-the-css-z-index-property/

理论上,z-index属性应该是无限的,或者至少在int类型范围内,具体取决于操作系统和浏览器。 但是,为了避免浏览器错误,您应该将z-index值限制为+/- 32767。