5

a:hover在我的应用程序中,当我的锚标记没有 href 属性时,我无法使用css 样式。

这有什么原因吗?

4

6 回答 6

9

IE 不支持 a:hover 在没有 href 的标签中。您可以使用 href="#" 或 href="Javascript:void(0);" 但是,最后一个选项可能也不适用于 IE6。

或者使用 Javascript mouseover/mouseout。

于 2009-06-24T20:54:57.333 回答
2

悬停用于链接。如果没有 HREF,标签只是一个锚。

换句话说...

<a name="target"></a>

是页面中的锚点...

<a href="#target">go there</a>

将是一个链接。

由于 ANCHOR 在页面上没有视觉表示...... a :hover 将毫无用处。

于 2009-06-24T20:59:05.920 回答
1

尝试添加 DOCTYPE。没有它,IE 往往会忽略某些指令。具体来说,在 IE8 中没有 HREF 的情况下,锚标记上的:hover会失败,但在包含XHTML 过渡 DOCTYPE时有效。

于 2009-06-25T00:11:07.703 回答
1

可能不是答案,但 a:hover 必须出现在 a:link 和 a:visited 之后才能生效。

W3Schools

于 2009-06-24T20:54:13.980 回答
0

您使用的是哪个浏览器?这可能是一个怪癖——href我认为当然不需要,即在使用旧<a name>方法在文档中创建链接时。

于 2009-06-24T20:55:22.200 回答
0

选择器的W3C CSS 2.0 规范:hover没有提及需要 href 属性的任何内容。

我怀疑这是特定于实现的东西,很可能 IE 很傻。如果我没记错的话,微软在:hover选择器成为 CSS 标准的一部分之前就发明了它,它最初只适用于锚点。所以,是的,这可能是 IE(6) 的一个怪癖。

对 IE6(所有 IE?)的 hacky 修复可能是使用href="#"它只指向当前页面(因此什么都不做)。

于 2009-06-24T20:57:48.137 回答