css伪类的展现
常见的伪类选择器
`:link` `:hover` `:active` `:visited`
如果为以上几个伪类赋予相同css属性名,不同的css属性值
```html
css测试
百度一下你就知道
```
如果按照以上的顺序给a标签的伪类赋值,第一次点击颜色展现是没有问题的,但是当点击过后,第二次再次将鼠标移到标签上面,以及点击的时刻颜色都是没有变化的,这是因为`:hover`和`:active`被`visited`覆盖的缘故,那为什么会出现这种情况?
>因为`:link`,`:hover`,`:active`,`:visited`的权重都是`0,0,1,0`,第一次点击的时候,visited因为还没有触发,所以颜色显示一切正常,第二次点击的时候,visited已经生效,而且他们的权重都是相等的,所以处在最后的visited伪类会将前面的几个伪类的属性值给覆盖掉。那颜色也就会一直是visited的颜色了。
此刻,我们只需将上面代码几个伪类的顺序调换一下,一切就都解决了
```html
css测试
百度一下你就知道
```
>因为,访问过的链接默认展示的是`:visited`伪类的属性值,所以不会被覆盖,而后鼠标移动到链接上,展示的是`:hover`伪类的属性值,而后点击展示的是`:active`的属性值,颜色顺序完全正确。