a:hover
在我的应用程序中,当我的锚标记没有 href 属性时,我无法使用css 样式。
这有什么原因吗?
IE 不支持 a:hover 在没有 href 的标签中。您可以使用 href="#" 或 href="Javascript:void(0);" 但是,最后一个选项可能也不适用于 IE6。
或者使用 Javascript mouseover/mouseout。
悬停用于链接。如果没有 HREF,标签只是一个锚。
换句话说...
<a name="target"></a>
是页面中的锚点...
<a href="#target">go there</a>
将是一个链接。
由于 ANCHOR 在页面上没有视觉表示...... a :hover 将毫无用处。
尝试添加 DOCTYPE。没有它,IE 往往会忽略某些指令。具体来说,在 IE8 中没有 HREF 的情况下,锚标记上的:hover会失败,但在包含XHTML 过渡 DOCTYPE时有效。
可能不是答案,但 a:hover 必须出现在 a:link 和 a:visited 之后才能生效。
您使用的是哪个浏览器?这可能是一个怪癖——href
我认为当然不需要,即在使用旧<a name>
方法在文档中创建链接时。
选择器的W3C CSS 2.0 规范:hover
没有提及需要 href 属性的任何内容。
我怀疑这是特定于实现的东西,很可能 IE 很傻。如果我没记错的话,微软在:hover
选择器成为 CSS 标准的一部分之前就发明了它,它最初只适用于锚点。所以,是的,这可能是 IE(6) 的一个怪癖。
对 IE6(所有 IE?)的 hacky 修复可能是使用href="#"
它只指向当前页面(因此什么都不做)。