这似乎是一个已经回答的常见问题,因为它引用了IE7及更低版本中的well-known z-index bug。但是,这种情况有点独特;
我正在使用CSS下拉菜单,该菜单使用子菜单的嵌套列表。我在其他网站上多次使用过,但通常第一级是水平的。在这种情况下,第一级需要是垂直的,子菜单应该飞出而不是下拉。
最重要的是,整个过程很复杂,因为第一级“包裹”到设计中的曲线,菜单ul浮动以适应内部页面上的不同布局。浮动会导致明显解决方案出现各种问题,因为如果z-index高于页面上的内容,则该内容中的链接将被顶级菜单项覆盖。
无论如何,我非常耐心地让它完美地运作,除了IE7及更低版本。我遇到的问题是IE想要将子菜单放在顶级菜单项下面(这是IE的预期行为,我明白了)。但是,由于顶级项目在曲线上,因此一些弹出菜单最终会被顶级项目重叠。
作为一个非常糟糕的修复方法,我使用CSS中的星形黑客为弹出菜单添加填充。这使它们起作用,但实际上并没有解决问题或看起来很吸引人。
所以,view the site,如果您有任何想法,请告诉我。谢谢!
答案 0 :(得分:1)
您需要在顶层获取所有li
,并在向下浏览时将其z-index值逐渐降低。例如,从顶部的“属性搜索”开始,指定99,98,97等的z-index值。这应该使每个li
的子项(子菜单)在更高的z上-index堆栈比页面上跟随它们的根项目。