- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我看过的每个示例和样式表都使用 a:visited
来设置链接样式。除了a:visited
具有更高的特异性,:visited
不应该是等价的和更简单的吗?
最佳答案
TL;DR:在撰写本文时,您是完全正确的; a:visited
之间没有区别和 :visited
.但是,使用 a:visited
是让您的代码面向 future 的最佳实践。
TL;DR 编辑:截至 2016 年 8 月,CSS4 工作草案允许其他标签使用 :visited
. a:visited
之间现在存在功能差异和 :visited
!当心。
对于当今的网络开发语言,特别是 HTML5 和 CSS3,您是对的:a:visited
之间功能上没有区别。和 :visited
.现在,请谨慎对待:Web 标准、元素和用户界面协议(protocol)在不断发展,这意味着将来可能会出现与 :visited
兼容的新标签。可能会被引入。
当 :visited
在 CSS 中引入,W3C CSS1 spec说:
In CSS1, anchor pseudo-classes have no effect on elements other than 'a'. Therefore, the element type can be omitted from the selector:
a:link { color: red }
==:link { color: red }
然而,在CSS2 spec , :visited
的行为伪类不仅限于 a
标签:
The document language determines which elements are hyperlink source anchors. For example, in HTML4, the link pseudo-classes apply to
a
elements with an "href" attribute.
这意味着由文档语言和浏览器决定哪些元素与:visited
兼容。 .虽然当前的行业标准规定对于 HTML,只有 a
带有 href
的元素属性限定,这可能会在以后发生变化。
编辑,2016 年 8 月:看起来像 CSS4 Working Draft证实了我的怀疑;在新规范中,:visited
可用于其他“类似链接”的元素,即 <area>
和 <link>
.规范说:
The :any-link pseudo-class represents an element that acts as the source anchor of a hyperlink. For example, in [HTML5], any
<a>
,<area>
, or<link>
elements with an href attribute are hyperlinks.
所以 <a>
, <area>
, 和 <link>
都被视为超链接,规范说 :visited
适用于所有超链接。所以从 CSS4 开始,你最好包括 a
在 a:visited
.
关于css - 为什么不是 :visited instead of a:visited for links?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27263128/
我是一名优秀的程序员,十分优秀!