a标签点击后hover失效应如何解决?

2,017 阅读1分钟

原因

html中a标签的点击事件有四个状态, 分别是linkvisitedhoveractive,如果同时设置多个状态,并且不按照正常顺序来的话,可能会导致一些效果被覆盖掉。

错误示例

先设置hover,再设置visited,当鼠标移上去的时候会发现a标签还是蓝色blue,而不是期望的红色red,因为visited的样式把hover覆盖了。

a:hover{
    color: 'red';
}

a:visited{
    color: 'blue';
}

正确顺序

正确的顺序应该是

link --> visited --> hover --> active

a:link:未访问时的样式,一般省略写成a

a:visited:已经访问后的样式

a:hover:鼠标移上去时的样式

a:active:鼠标按下时的样式