根据W3 Schools的说法,声明锚元素上的伪类的顺序至关重要。
为什么是这样?还有其他人吗?
这里有详细的说明:
http://meyerweb.com/eric/css/link-specificity.html
它与 CSS 的特殊性有关。
从那里引用:
所有这些都可以应用于超链接,并且在某些情况下,可以应用多个。例如,未访问的链接可以在悬停和活动的同时作为未访问的链接。由于上述三个规则适用于超链接,并且选择器都具有相同的特异性,因此列出的最后一个获胜。因此,“活动”样式永远不会出现,因为它总是会被“悬停”样式覆盖。现在考虑一个已经被访问过的超链接。它将永远是紫色的,因为它的“已访问”样式优于任何其他状态,包括“活动”和“悬停”。
这就是为什么 CSS1 中推荐的顺序是这样的:A:link
A:visited
A:悬停
A:active
BTW W3 Schools 不是正式定义的最佳资源。你最好去源头,在w3c。例如,它不是“非常重要”,但建议使用。