为什么“a:悬停必须来自:链接和a:访问过(w3school)”?

时间:2015-12-12 12:26:50

标签: html css hyperlink pseudo-class

我正在" w3schools"中学习CSS,在" link"的章节中,他们说:

"为多个链接状态设置样式时,有一些订单规则:

a:悬停必须在:链接和a:访问后 a:主动必须在a:hover"

之后

我想知道为什么正确的顺序是L.V.H.A,而不是L.H.V.A或其他。

2 个答案:

答案 0 :(得分:6)

必须按特定顺序声明伪类。

助记符 L o V e HA te对于记住正确的顺序总是有用的:

:link
:visited
:hover
:active

每个伪类对应一个事件,该事件只能在时间轴中发生,而不是之前的事件。

也就是说:

  1. 在访问链接之前未访问该链接。

  2. 链接在被覆盖之前被访问。

  3. 链接在处于活动状态之前悬停。

答案 1 :(得分:2)

主要原因是因为后面的规则在CSS中的文档中找到的前一个规则之后执行,这意味着后者的行为将在执行所有先前的匹配规则之后执行。因此,他们的顺序确实很重要,以避免重叠会影响彼此的行为。

例如,如果:link放在:visited之后,:visited的某些行为将会重叠,例如,尽管已访问,但其颜色可能显示为正常链接。