我正在" w3schools"中学习CSS,在" link"的章节中,他们说:
"为多个链接状态设置样式时,有一些订单规则:
a:悬停必须在:链接和a:访问后 a:主动必须在a:hover"
之后我想知道为什么正确的顺序是L.V.H.A,而不是L.H.V.A或其他。
答案 0 :(得分:6)
必须按特定顺序声明伪类。
助记符 L o V e HA te对于记住正确的顺序总是有用的:
:link
:visited
:hover
:active
每个伪类对应一个事件,该事件只能在时间轴中发生,而不是之前的事件。
也就是说:
在访问链接之前未访问该链接。
链接在被覆盖之前被访问。
链接在处于活动状态之前悬停。
答案 1 :(得分:2)
主要原因是因为后面的规则在CSS中的文档中找到的前一个规则之后执行,这意味着后者的行为将在执行所有先前的匹配规则之后执行。因此,他们的顺序确实很重要,以避免重叠会影响彼此的行为。
例如,如果:link
放在:visited
之后,:visited
的某些行为将会重叠,例如,尽管已访问,但其颜色可能显示为正常链接。