【问题标题】:CSS dropdown menu not showing in IEIE 中不显示 CSS 下拉菜单
【发布时间】:2017-06-19 19:45:30
【问题描述】:

我刚刚发现此站点上的 CSS 下拉菜单在 Internet Explorer 中不起作用。完全没有,绝对没有任何显示。 菜单在 Firefox 和 Android 中运行良好 这是网站:http://anlea.org 我尝试了许多修复方法,但没有任何东西可以显示下拉菜单。

任何(简单!)解决方案将不胜感激

【问题讨论】:

  • 我没有看到任何错误,但 W3C 验证器看到了 340 个错误:validator.w3.org/…
  • IE的版本和模式是什么?

标签: css internet-explorer dropdownbox


【解决方案1】:

IE 并不总是与li:hover 配合得很好,而这正是您的 CSS 菜单所依赖的。这个问题的公认答案可能会有所帮助:IE8 does not hover when using an li with position:absolute

【讨论】:

  • 您在 IE8 上方的链接页面上提出的解决方案不能悬停......有效。我添加了 body 标签 { behavior: url("csshover3.htc"); } 和你的 csshover.htc 文件,它现在可以工作了。花了2分钟。唯一的问题是菜单项现在位于主菜单块右侧约 80 像素处。但这是一个小问题,主要是您的解决方案有效。谢谢
【解决方案2】:

悬停时不会显示嵌套的 ul,只是嵌套 ul 中的 li。尝试添加:

.main_menu > ul > li:hover > ul {
   display: block;
}

我还建议您使用子选择器,如下所示:

.main_menu ul li  /* this would also apply to the submenu's, you overwrite them later in your code */

会变成

.main_menu > ul > li  /* this will only apply to the top level menu */

用于嵌套菜单。这不应该破坏代码,但会让您更好地控制并避免意外结果。

如果您希望所有 li 具有相同的背景,例如,顶级和嵌套,您仍然可以使用

.main_menu li

【讨论】:

    【解决方案3】:

    我正在使用 IE9 查看网站,并且菜单工作正常,只有在我切换回 IE9 标准模式后。

    您的网站在 IE9 中默认为 Quirks 模式。

    您可以参考这里:http://blog.timolthof.com/disable-quirks-mode/ 尝试禁用 Quirks 模式。

    【讨论】:

    • 其实这是一个非常简单的解决问题的方法。只需禁用 quirks 模式,如 timolthof 的博客中所述
    • 这是最简单的解决方案
    【解决方案4】:

    下拉菜单的高度和宽度应该以 px 为单位而不是 % 某些版本 IE 不支持以 % 为单位的宽度和高度

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-03
      • 2013-03-14
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多