为什么 ta:hover 在没有 href 属性的锚点上不起作用?
在我的应用程序中,当我的锚标记没有 href 属性时,我无法使用 a:hover
css 样式。
这有什么原因吗?
In my application, I can't get the a:hover
css style to work when my anchor tag doesn't have an href attribute.
Is there any reason for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
尝试添加 DOCTYPE。 如果没有它,IE 往往会忽略某些指令。 具体来说,在 IE8 中如果没有 HREF,锚标记上的 :hover 会失败,但在
Try adding DOCTYPE. IE tends to ignore certain directives without it. Specifically, :hover on an anchor tag fails without HREF in IE8 but works when the XHTML Transitional DOCTYPE is included.
您使用哪种浏览器? 这可能是一个怪癖 - 当然
href
不是必需的,我不认为,即当使用旧的方法在文档中创建链接时。
Which browser are you using? This may be a quirk - certainly
href
isn't required I don't think, i.e. when using the legacy<a name>
method to create links within the document.的 W3C CSS 2.0 规范 :hover
选择器没有提到任何关于需要 href 属性的内容。我怀疑这是特定于实现的东西,很可能 IE 很愚蠢。 如果我没记错的话,微软在成为 CSS 标准的一部分之前就发明了
:hover
选择器,它最初只适用于锚点。 所以是的,这可能是 IE(6) 的一个怪癖。IE6(所有 IE?)的一个 hacky 修复可能是使用
href="#"
它只指向当前页面(因此什么也不做)。The W3C CSS 2.0 specification for the
:hover
selector doesn't mention anything about requiring an href attribute.I suspect this is something implementation-specific, most likely IE being silly. If I remember right, Microsoft invented the
:hover
selector before it became part of the CSS standard, and it originally only applied to anchors. So yeah, it's probably a quirk of IE(6).A hacky fix for IE6 (all IE?) might be to use
href="#"
which just points to the current page (and thus does nothing).IE 不支持在没有 href 的标签中使用 a:hover。 您可以使用 href="#" 或 href="Javascript:void(0);" 然而最后一个选项可能也不适用于 IE6。
或者使用 Javascript mouseover/mouseout。
IE doesn't support a:hover in a tag without href. You can use href="#" or href="Javascript:void(0);" however this last option probably won't work on IE6 either.
Or use Javascript mouseover/mouseout.
悬停用于链接。 如果没有 HREF,标签就只是一个锚点。
换句话说...
是页面内的一个锚点...
将是一个链接。
由于锚点在页面上没有视觉表示.. :hover 将毫无用处。
Hover is intended for links. Without the HREF the tag is simply an anchor.
In other words...
is an ANCHOR within a page that...
would be a LINK to.
Since ANCHORs don't have visual representation on a page.. a :hover would be useless.
可能不是答案,但 a:hover 必须发生在 a:link 和 a:visited 之后才有效。
请参阅 W3Schools
Might not be the answer, but a:hover must occur after a:link and a:visited to be effective.
See W3Schools