0

我的导航中有一系列图标。默认情况下,它们应该显示为白色,悬停时显示为蓝色。单击该图标时,它会分配一个“活动”类,此时默认情况下它仍应为白色,但悬停时也应为白色。

在 IE8 中,在分配了“活动”类后,它保持蓝色,不考虑悬停。我的页面上有这个文档类型:

<!DOCTYPE html>

这是我的 CSS:

.appNav div {
    color: #ffffff;
}
.appNav div:hover {
    color: blue;
}
.appNav div.active {
    color: #ffffff;
}
.appNav div.active:hover {
    color: #ffffff;
}

编辑:正如 rink.attendant.6 所问,我使用 fontawesome 作为我的图标,所以它们是字体文本图标。

4

1 回答 1

0

没有理由这不应该在 IE 8 中工作

:hover 伪类在用户使用指针设备指定元素时应用,但不一定激活它。

有关详细信息,请参阅:http ://www.w3.org/TR/css3-selectors/#the-user-action-pseudo-classes-hover-act 。

还有

从 Windows Internet Explorer 7 开始,当浏览器处于标准兼容模式(严格 !DOCTYPE)时,您可以将 :hover 伪类应用于任何元素,而不仅仅是链接。如果伪类未专门应用于选择器中的元素,例如 a 标记,则假定使用通用 (*) 选择器。不加选择地使用 :hover 伪类会对页面性能产生负面影响。

您仍然可以强制 IE 将 :hover 悬停在任何元素上并管理 IE 对 :hover 的不稳定支持。但这是过去的事了。

这种“错误”且不明确的上下文邀请开发人员使用 javascript 来通过 jQuery 实现更好的跨浏览器行为。

另外,我看到你的文档类型是 html5。你 htmlShim 你的页面了吗?

于 2013-07-11T19:46:28.607 回答