gpt4 book ai didi

css - 为什么不是 :visited instead of a:visited for links?

转载 作者:数据小太阳 更新时间:2023-10-29 09:13:01 26 4
gpt4 key购买 nike

我看过的每个示例和样式表都使用 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 开始,你最好包括 aa:visited .

关于css - 为什么不是 :visited instead of a:visited for links?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27263128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com