【问题标题】:IE7 z-index with an unordered list带有无序列表的 IE7 z-index
【发布时间】:2012-01-04 01:27:44
【问题描述】:

以下示例是我的顶部导航的一个非常简化的版本。

http://jsfiddle.net/AEqxT/

如果您在大多数浏览器中查看,您应该会看到两个相邻的绿色列表项,顶部有一个蓝色框或“徽章”,缩小了两者之间的差距。然而,在 IE7 中,蓝色框总是低于第二个 li。我已经尝试了各种方法来解决这个问题。为父 ul 设置更高的 z-index 并没有改变任何东西,如果我在“徽章”上使用 position: relative;,它会失去它的宽度和高度。

我缺少一个明显的解决方法吗?

【问题讨论】:

    标签: css internet-explorer-7 z-index


    【解决方案1】:

    您可能会在 LI 中与您的徽章斗争,将其从列表中删除,您应该没问题,但位置有点混乱:

    http://jsfiddle.net/AEqxT/2/

    如果您绝对必须将它与 LI 一起使用,那么您可能需要一些 JS 才能完成这项工作

    【讨论】:

    • 我喜欢你关于从 li 中删除徽章的想法,但我不能完全按照你的建议定位它,因为徽章是以编程方式生成的,所以它们的位置永远不会一致。因此,相反,我在两个主要列表项之间创建了另一个带有徽章的 li,因此 - jsfiddle.net/A2Pe3/1 它不完全是语义,但它似乎可以完成这项工作。感谢您的启发!
    【解决方案2】:

    这是reported IE7 bug

    您可以使用发布到 this question 的 JS 解决方案来修复它,或者您可以手动为所有 <li> 元素设置不同的 z-index,从高到低排序:

    http://jsfiddle.net/AEqxT/3/

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多