题 a vs a:link,有什么区别?


有什么区别 a {...} 和 a:link{...}

它们之间有不同的用法和好处吗?


27
2017-12-17 15:45


起源


只是一个小点 - :link是一个伪选择器。只有一个 a 标签。 - Skilldrick
a:link 是一个伪类而 a 是基本HTML锚标记。 - RBT


答案:


根据 W3C  a:link 是为了没有访问, a:visited 是为了参观,只是 a 适用于两者。


31
2017-12-17 15:49



你是现货。我不知道为什么这个没有标记为已经回答。 - jay_t55
这不正确: a:link 是为链接的锚标签(有一个 href)属性。 a 影响所有锚标签。 (参见,例如, jsbin.com/uxuyum/1) - futuraprime
@futuraprime也不是这样。更正确的说法是:链接仅适用于具有href属性且未访问,活动或悬停的锚标记。这非常重要,因为它意味着一旦链接被访问,悬停或处于活动状态,应用了以下链接的样式不再适用。 - John
不,链接样式继续应用于悬停/访问(至少在Chrome中): jsbin.com/uxuyum/3  - 如果你将鼠标悬停在链接上,它仍然保留在sans-serif中。它具有相同的优先级:悬停等 - futuraprime


a 涵盖所有基地。 a:link 仅在链接中使用时才使用visited,不hovered和in-active

所以,使用 a 对于像font-family这样的东西(如果你想要链接以不同的字体出现),那么使用 link 对于标准格式,和 visitedhover 和 active 对于'特效'。

编辑: 读完桑德之后 W3C链接,我可以看到我没有把它完全正确。 a:link 将级联到 a:hover 和 a:active,即任何东西 a:link 动态伪类不会过度使用它们也适用于它们。


12
2017-12-17 15:48



嗯有趣的编辑,我没有抓住那个老实说:-) - Sander Rijken


a:link 仅影响基本具有href属性的链接(如果a:visited,a:hover或a:active不适用)...我注意到差异的主要情况是 a:link 不影响 命名锚点 而 a 将。也, a 如果没有其他伪类是defiend,则是默认样式。

<a name="Section1">Section 1</a>

3
2017-12-17 15:48



实际上,命名锚是可见的(只要它有内容)。 - brianary
是的,<a name="Section1">第1部分</a>是a:link不会影响样式的示例。 - Shawn Steward
Woops,我不小心删掉了那个。是的我同意他们可以有内容,你可以使用css a 改变风格。认为具有href的所有内容都受到影响并不是真的 a:link - Sander Rijken
是的,我想我说错了。 a:链接不会影响我应该说没有href的锚点。 - Shawn Steward