Javascript 另一个";“z-索引不工作”;在IE>;7、研究后找不到答案

Javascript 另一个";“z-索引不工作”;在IE>;7、研究后找不到答案,javascript,html,css,internet-explorer,z-index,Javascript,Html,Css,Internet Explorer,Z Index,我到处找,找到了很多文章,解释了IE 7、8和9 z索引问题的工作循环,但这些案例都没有解决我的问题 问题是,在用户可以与之交互的页面中间,我有内容,但我不希望用户在页面加载后2秒之前能够进行交互(不需要对此进行帮助)。因此,我使用了一个拦截器作为解决方案,一个div,位于HTML中动画内容的上方,具有绝对位置,并覆盖用户交互,因此您无法将鼠标悬停在动画上 这在Chrome和Firefox中都可以使用,但所有IE都存在z索引问题 我确保每个父元素都有相对或绝对的位置,甚至尝试使父容器具有更高的

我到处找,找到了很多文章,解释了IE 7、8和9 z索引问题的工作循环,但这些案例都没有解决我的问题

<强>问题是,在用户可以与之交互的页面中间,我有内容,但我不希望用户在页面加载后2秒之前能够进行交互(不需要对此进行帮助)。因此,我使用了一个拦截器作为解决方案,一个div,位于HTML中动画内容的上方,具有绝对位置,并覆盖用户交互,因此您无法将鼠标悬停在动画上

这在Chrome和Firefox中都可以使用,但所有IE都存在z索引问题

我确保每个父元素都有相对或绝对的位置,甚至尝试使父容器具有更高的索引,反之亦然。有人遇到过这样的问题吗

我不能为私人事务显示代码,但我希望我已经充分解释了它


任何问题,请告诉我。

在IE中,我注意到即使将父元素设置为相对和/或绝对位置,并且其z索引低于blocker div(这是一个正常的修复),blocker div仍然作为单个索引进行堆叠,因此没有堆叠在上面的其他元素之上。我注意到的另一个问题是,当您将阻挡背景颜色设置为颜色时,z索引堆栈工作,并且无法与较低的z索引元素交互。但当您将空阻止程序设置为透明时,z-index将不会与其他元素堆叠(bug)

以下是一个适用于所有IE浏览器的变通方法。如果您试图使用空div来阻止用户交互(否则,上述方法应该有效):

CSS

#blocker {
    position:absolute;
    width: 100%;
    height: 200%;
    top:0px;
    right:0px;
    bottom:0px;
    left:0px;
    z-index:9999;
    background-image: url('/cont-img/Transparent.gif');
    background-repeat:repeat;
}
  • 下载透明gif,其工作原理类似于不透明0,但适用于所有IE浏览器:
  • 重复gif背景,使其在上述元素上重复x&y
  • HTML

        <!-- place empty blocker div BELOW content trying to block -->
        <div id="blocker"></div>
    
    
    
    我在IE中使用过这样的技术,它们工作得很好,因此如果不清楚您在做什么,就很难提供帮助。也许您可以用jsfiddle.net建立一个示例。正如Pointy所提到的,请提供一个示例。是的,IE 7 Z索引问题是正常的,因为IE解释的Z索引不仅基于分配给实际元素的Z索引,而且从父元素向下检查。如果element1的parent1的z索引大于element2的parent2,则element1将显示在element2的顶部,尽管element1的z索引可能小于element2。我希望这能帮助我看看我是否能在js guys中呈现一些东西-它在js中使用了#blocker CSS定义的fiddle,但需要在IE7-9中进行测试,而IE7-9还不起作用。有什么想法吗?(您可以删除阻止程序css id以查看是否存在用户交互)IE8最近出现的另一个解决方法是使用-ms-linear渐变作为覆盖的背景属性,因为该背景不会影响内部文本。我可以很快发布更新。嗯,很有趣。我可以理解这是否是一个问题,比如说,div没有宽度或高度,因为它是空的或什么的,但事实是它是正确的大小,只是z索引失败了。。。发疯了。不过谢谢你的帮助,效果很好。