为什么“a:hover 必须出现在 a:link 和 a:visited(w3school)之后”?
why “a:hover MUST come after a:link and a:visited(w3school)”?
我在"w3schools"学习CSS,在"link"的章节里,他们说:
"设置几个link状态的样式时,有一些顺序规则:
a:hover 必须在 a:link 和 a:visited 之后
a:active 必须在 a:hover 之后
我想知道为什么正确的顺序是 L.V.H.A,而不是 L.H.V.A 或其他顺序。
伪class必须按特定顺序声明。
助记符 LoVe HAte 对于记住正确的词总是有用的顺序:
:link
:visited
:hover
:active
每个伪class对应一个事件,该事件在时间轴中只能发生在比之前发生的事件更晚的时间。
也就是说:
A link 在被访问之前未被访问。
A link 在悬停之前被访问。
一个 link 在被激活之前悬停在上面。
主要是因为后面的规则是在CSS的文档中找到的前面的规则按顺序执行的,也就是说后面的行为会在前面所有匹配的规则执行完之后执行。因此,它们的顺序确实很重要,以避免重叠会影响彼此的行为。
如果 :link
放在 :visited
之后,:visited
的某些行为将被重叠,例如它的颜色可能显示为正常 link 尽管访问.
我在"w3schools"学习CSS,在"link"的章节里,他们说:
"设置几个link状态的样式时,有一些顺序规则:
a:hover 必须在 a:link 和 a:visited 之后 a:active 必须在 a:hover 之后
我想知道为什么正确的顺序是 L.V.H.A,而不是 L.H.V.A 或其他顺序。
伪class必须按特定顺序声明。
助记符 LoVe HAte 对于记住正确的词总是有用的顺序:
:link
:visited
:hover
:active
每个伪class对应一个事件,该事件在时间轴中只能发生在比之前发生的事件更晚的时间。
也就是说:
A link 在被访问之前未被访问。
A link 在悬停之前被访问。
一个 link 在被激活之前悬停在上面。
主要是因为后面的规则是在CSS的文档中找到的前面的规则按顺序执行的,也就是说后面的行为会在前面所有匹配的规则执行完之后执行。因此,它们的顺序确实很重要,以避免重叠会影响彼此的行为。
如果 :link
放在 :visited
之后,:visited
的某些行为将被重叠,例如它的颜色可能显示为正常 link 尽管访问.