我正在开发一个带有地图的应用程序,角落里有一个div,里面有一些东西.您可以单击此地图以在一个小窗口中显示一些信息.在某些情况下,窗口被角落里的div覆盖.
我想要相反的效果(窗口覆盖div).我认为这只是一个z索引问题,但我无法让它工作.这是在IE7和读取一点似乎z-index将无法工作,除非它在一个定位的元素内.
这些元素似乎正确定位,以使z-index正常工作,但我运气不佳.我已经玩过通过Firebug添加样式但是没有任何运气可以改变任何东西.窗口真的只是两个div,一个绝对定位一个,一个相对一个内部.
z-index是唯一可能成为问题的东西还是还有其他我不知道的东西?
有没有其他方法可以达到我想要的效果?我不能简单地通过jquery或其他东西隐藏div,因为它的一部分应该从地图上打开的窗口后面看到.
最佳答案
您正在遇到堆叠上下文错误
http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html
IE中的每个定位div都将创建一个新的堆叠上下文,并防止来自不同堆叠上下文的z-index成为其他堆栈上下文.
解决方案是让你想要的窗口在树中(例如进入体内),并且z-index值比覆盖窗口的另一个div的所有父项的z-index更大.
广泛的信息,以解决这里的问题:
http://richa.avasthi.name/blogs/tepumpkin/2008/01/11/ie7-lessons-learned/