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`的属性值,颜色顺序完全正确。
posted @ 2016-05-03 13:03  cococe  阅读(117)  评论(0编辑  收藏  举报