css – 为什么不:访问而不是a:访问链接?

前端之家收集整理的这篇文章主要介绍了css – 为什么不:访问而不是a:访问链接?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我看过的每个例子和样式表都使用:访问到样式链接。除了a:访问具有更高的特异性,应该:访问是等同的还是更简单?

解决方法

TL; DR:在写作的时候,你是完全正确的; a:访问和访问之间没有区别。但是,使用a:visited是最佳实践,以防止您的代码

TL; DR编辑:截至2016年8月,CSS4工作草案允许其他标签使用:visited。现在在a:visited和:visited之间存在功能差异!谨防。

对于今天的Web开发语言,特别是HTML5和CSS3,你是对的:a:visited和visited之间在功能上没有区别。现在,请谨慎对待:Web标准,元素和用户界面协议是不断发展的,这意味着在将来,可能会引入一个与标记兼容的新标记

时间:在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,被访问的伪类的行为不限于只是一个标签

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,只有具有href属性的元素符合条件,但这可能会稍后改变。

编辑,2016年8月:看起来像CSS4 Working Draft已经确认我的怀疑;在新规范中::visited可以用于其他“链接类”元素,即< area>和< link&gt ;.规格说:

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。

原文链接:https://www.f2er.com/css/222189.html

猜你在找的CSS相关文章