在IE 6中,选择控件(组合框)显示在菜单顶部。我检查了一些Javascript菜单mmmenu,但所有菜单都处于选择控制之下。通过分配Z-Index无法解决问题。还有其他解决方案。
答案 0 :(得分:7)
这是IE6的一个众所周知的错误,试图在选择控件之上绝对定位div。
有一些涉及iframe垫片的解决方法,但没有好的答案。 iframe垫片的答案是将iframe置于您尝试放置在select上方的div下方,iframe的大小相同。不幸的是,这对屁股来说是一个巨大的痛苦。
我建议使用已经使用iframe填充程序的javascript菜单系统,例如YUI menus(我假设是jQuery)。
答案 1 :(得分:7)
大多数主要的JavaScript库都可以轻松实现此问题的解决方案。我们使用jQuery,bgiframe plugin非常易于使用并解决了问题。
答案 2 :(得分:3)
Daniel绝对是对的。这是一个丑陋的问题。
但是,可能还有另一种解决方案。如果您使用弹出打开和关闭的多层菜单,则可以编写JavaScript代码,在打开弹出窗口时隐藏有问题的SELECT元素(将元素设置为隐藏的可见性)。然后当菜单关闭时,您可以取消隐藏相同的SELECT控件。
然后,您只需编写代码,以检测哪些SELECT对象在打开之前会阻碍特定菜单。这不是简单的代码,但它绝对可以写。然后我将整个代码块包装在条件中,检查用户是否在IE上,因为不需要在Firefox或Safari上运行它。
答案 3 :(得分:2)
问题是SELECT是IE6中的“窗口化”元素,它们的z-index高于所有其他非“窗口化”组件。如果你绝对必须在combox上面有一些东西,你可能想把它放在另一个窗口化的组件中,比如IFRAME,并将组件的z-index设置为高于组合框的z-index。
我必须承认,这不是一个很好的解决方案。