css – z-index是强制元素定位在另一个元素之上的唯一方法,如果没有其他方法吗?

前端之家收集整理的这篇文章主要介绍了css – z-index是强制元素定位在另一个元素之上的唯一方法,如果没有其他方法吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在开发一个带有地图的应用程序,角落里有一个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/

猜你在找的CSS相关文章