2016-03-05 68 views
2

我读到有关:visited pseudo class on MDN,他们说:visited伪类可以通过:link伪类重写:`:visited`伪类如何被`:link`伪类覆盖?

的:参观CSS伪类,您可以只选择已访问过的链接。这种风格可能被任何其他链接相关的伪类覆盖,即:链接

我不能重新创建此功能。我试了两个脚本。其中一个与之前提到的:visited然后相反,但两个脚本的工作原理是相同的。在以下脚本中,:link伪类不会覆盖伪类:visited - 锚点元素在访问时不会显示为绿色。

a:visited { 
 
    color: red; 
 
} 
 
a:link { 
 
    color: green; 
 
}
<a href="http://www.hello.com">Go to Hello.com </a>

那么,如何:visited伪类得到由:link伪类中重写?如果:link在样式表中:visited之前或之后声明,会有任何可观察到的差异吗?

回答

3

我认为这是文档中的一个小错误。

真正的问题是,如果访问的:在任何情况下

链接伪类不再aplies,:链接CSS伪类,您可以选择内部元素的链接。这 将选择尚未访问过的任何链接,

还列举了从MDN

所以,在你的例子,:链接不会任何工作情况下,不管你做什么,一旦链接被访问

+0

但这是显而易见的。这就是':visited'应该做的事情。我认为在':link'之前提到':visited'会覆盖':visited',使得这些属性完全由':link'伪类决定,无论链接是否被访问 - 但它不会发生。 ':link'和':visited'的顺序无关紧要。 ':链接'风格只有未访问的链接和':被访问的风格访问的。它们是相互排斥的。 – user31782

+0

@ user31782:“但这很明显。”那么你的意思是什么?这个答案如何解决你的问题? – BoltClock

+0

@BoltClock答案正好解决了我的问题。通过_但这是显而易见的_我的意思是,如果访问_if,链接伪类不再适用。 – user31782