为什么锚伪类a:link,:visited,:hover,:active需要按正确顺序排列吗?

Ban*_*San 14 css css-selectors pseudo-class

根据W3 Schools,声明锚元素上的伪类的顺序非常重要.

为什么是这样?还有其他人吗?

And*_*y G 18

这里有详细说明:

http://meyerweb.com/eric/css/link-specificity.html

它与CSS特异性有关.
引用那里:

所有这些都可以应用于超链接,在某些情况下,将应用多个超链接.例如,未访问的链接可以同时悬停并处于活动状态,因为它是未访问的链接.由于上述规则中的三个适用于超链接,并且选择器都具有相同的特异性,因此列出的最后一个获胜.因此,"主动"样式将永远不会出现,因为它将始终被"悬停"样式覆盖.现在考虑一个已访问过的超链接.它总是永远是紫色的,因为它的"访问"风格击败了任何其他状态,包括"主动"和"悬停".
 
这就是为什么CSS1中的推荐顺序如下:

答:链接
A:访问过
A:悬停
A:活跃

BTW W3学校不是正式定义的最佳资源.你最好去w3c的源头.例如,它不是"非常重要",但建议使用它.

  • 如果有帮助,你可以使用LoVe-HAte;) (9认同)