3

我有一个网页,顶部有一个jquery Mega Menu ,然后在它下面有一个 jqGrid。当我将鼠标悬停在菜单上时,子菜单会弹出,但它显示在 jqGrid 的“后面”。我尝试进入 dcMegaMenu.css 并添加:

z-index:2000;

此图像直接取自示例页面,此问题可重现

在此处输入图像描述

在此处输入图像描述

到处都是,但它仍然出现在图像后面?有什么建议么?

4

4 回答 4

4

此问题是由IE7 错误引起的。从链接的答案中引用我自己:

[这里是] 一些解释该问题的资源:

一般的想法是戳position: relative(通常删除它)和z-index有问题的元素的父元素,直到它被修复。

在 IE9 中可能发生相同问题的唯一方法是 IE9 以兼容模式显示页面(或以其他方式使用 IE7 模式)。按 F12 调出开发者工具以查看正在使用的模式。

要在您链接到的页面上解决 IE7 中的此问题,您需要.demo-container添加position: relative; z-index: 1;.

如果您无法将此修复程序翻译到您的实际页面,如果您提供指向实际页面的链接(或准确的测试用例:http: //jsfiddle.net/ / http://jsbin. com/)。

这是 IE7 模式下 IE9 的屏幕截图,其中使用开发者工具应用了修复:

于 2012-02-21T20:01:55.943 回答
1

如果没有显示任何代码,我所能想到的就是如果元素没有定位, z-index 将什么也不做:

#wontwork {
  z-index: 10000;
}

#willdosth {
  position: absolute; /* or relative or fixed */
  z-index: 1;
}

#also { /* link below */
  transform: sth;
  z-index: 1;
}

参考https
://developer.mozilla.org/en/Understanding_CSS_z-index 关于变换和 z-index 的部分:https ://stackoverflow.com/a/7765214/137626

于 2012-02-19T14:39:26.387 回答
0

z-index:1;对于定位元素,可以使用 But 来解决。正如 w3school.com 所解释的,z-index 只能与定位元素一起使用。因此,如果您将超级菜单的列表项设置在相对位置position:relative;并且使用z-index:1;将起作用。

于 2014-04-18T01:08:34.347 回答
0

通过使用位置:绝对;只需添加一个 z-index:1; 因为堆栈顺序较大的元素总是在堆栈顺序较低的元素前面,所以 z-index 可用于控制堆栈顺序,并且仅用于定位元素

于 2016-09-13T02:29:30.080 回答