我有一个案例,第三方广告正在通过我的模态窗口实现流血.我想尽可能高地提高模态叠加层的z-index,这样广告就不会显示在它上面.z-index值是否有限制?我确定它是否因浏览器而异.谁知道?
大多数浏览器支持的最大zIndex值为2147483647(2 ^ 31-1),但Opera 9.2不接受大于2147483583的值; 他们在9.5版中修复了它.
请记住,z-index
这不是全局工作,而是仅在"堆叠上下文"(CSS中难以消化的定义)中,并且如果广告建立了自己的堆叠上下文,那么z-index
您在其他地方设置的值可能根本不会影响它.
然而,更有可能的是"窗口化"Flash(没有wmode=transparent
属性的对象)的问题,哪些浏览器在所有内容上呈现,就好像是浏览器窗口上方的窗口一样.在这种情况下z-index
根本无济于事.您需要强制广告[-provider]使用wmode=transparent
或使用iframe的疯狂黑客攻击.
不是真的,但你可能会考虑系统的自然局限性,比如int范围.我可能会把它保持在32,767以下.在处理类似的问题时我肯定超过了javascript,并且在我当时关注的主要浏览器和平台上没有遇到任何问题.
对于第三方广告和叠加层,确保flash嵌入上的wmode ="transparent"是同一行中的常见问题.另外值得注意的是,IE有一个堆叠z索引的错误,所以如果你没有看到成功,请确保你没有用那个*撞到墙上.
我总是喜欢遵守某种惯例,而不是使用任意数字.例如,我的css中的所有内容都可能介于0到10之间.也许dhtml的东西发生在100的位置值中,对于任何给定的模块都有一个有意义的z-index.
*旁注: IE漏洞,具体来说,IE认为文档流的新实例是z-index的新堆叠上下文.当正常继承z-index的子节点正在呈现它自己的定位上下文时,您需要确保您的z索引不会在DOM层次结构中丢失.