IE7中的悬停下拉菜单Z-Index问题

时间:2011-11-23 16:27:10

标签: css internet-explorer-7 drop-down-menu z-index

我正在为我们的一个应用程序页面工作,该应用程序显示一个大型数据表以及一个下拉列表,其中包含对每个项目执行的选项。你可以看到我的项目的一个愚蠢的版本(链接已删除,问题已解决)。

这是我的问题:每行的下拉菜单都是绝对定位的,每个行的z索引都是600.在悬停时我将z-index增加到900,这样当它打开时它可以出现在直接在它下面的行中的下拉列表。我怀疑这个悬停状态在IE7中没有生效,下拉列表总是出现在下一行的下拉列表中(仅在IE7中)。

接下来我尝试在第1行给出一个z-index为699的下拉列表,第二行的下拉列表是z-index为698,第3行为697等,这样每个都会高于下面的那个它。这也不起作用,当打开时,下拉列表仍显示在下一行的下拉列表下方。

据我所知,通过为父元素提供更高的z-index,您可以修复IE7 z-index问题,我实际上确实将此方法用于同一页面上的另一个菜单(但它不在此演示页面中)它为此目的工作得很好。但是,我尝试给这些下拉列表的父级指定一个999的z-index(当然,位置:相对),但我仍然没有运气在页面上获得正确的堆叠顺序。这让我抓狂,我真的需要完成这个项目,这是我们能够启动之前唯一不能正常工作的事情。真的很讨厌支持IE7,但必须要做,我知道这一定是可能的。拜托,我真的很感激任何人都可以提供帮助。我觉得我已经筋疲力尽了,但希望有人知道如何实现这一目标。

2 个答案:

答案 0 :(得分:3)

尝试给父元素的父元素一个z-index,并继续返回,直到找到未正确显示的元素的共享父元素。

答案 1 :(得分:0)

对我来说

body {
z-index: -1;
}

ul li{z-index: 999;}