常见的伪类选择器
:link :hover :active :visited

如果为以上几个伪类赋予相同css属性名,不同的css属性值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css测试</title>
    <style type="text/css">
            a:link { color: yellow; }
            a:hover { color: red; }
            a:active { color: pink; }
          a:visited { color: blue; }
    </style>
</head>
<body>
    <a href="http://www.baidu.com">百度一下你就知道</a>
</body>
</html>

如果按照以上的顺序给a标签的伪类赋值,第一次点击颜色展现是没有问题的,但是当点击过后,第二次再次将鼠标移到标签上面,以及点击的时刻颜色都是没有变化的,这是因为:hover:activevisited覆盖的缘故,那为什么会出现这种情况?

因为:link,:hover,:active,:visited的权重都是0,0,1,0,第一次点击的时候,visited因为还没有触发,所以颜色显示一切正常,第二次点击的时候,visited已经生效,而且他们的权重都是相等的,所以处在最后的visited伪类会将前面的几个伪类的属性值给覆盖掉。那颜色也就会一直是visited的颜色了。

此刻,我们只需将上面代码几个伪类的顺序调换一下,一切就都解决了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css测试</title>
    <style type="text/css">
            a:link { color: yellow; }
          a:visited { color: blue; }
            a:hover { color: red; }
            a:active { color: pink; }
    </style>
</head>
<body>
    <a href="http://www.baidu.com">百度一下你就知道</a>
</body>
</html>

因为,访问过的链接默认展示的是:visited伪类的属性值,所以不会被覆盖,而后鼠标移动到链接上,展示的是:hover伪类的属性值,而后点击展示的是:active的属性值,颜色顺序完全正确。

css伪类的展现的更多相关文章

  1. CSS伪类和伪元素

    一.伪类 CSS伪类用于向某些选择器添加特殊的效果,在W3规范中,CSS伪类有如下几个: CSS2.1 :active:向被激活的元素添加样式(激活是指点击鼠标那一下) :focus:向拥有键盘输入焦 ...

  2. CSS 伪类 (Pseudo-classes)

    CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪类 (Pseudo-classes)实例: 超链接 本例演示如何向文档中的超链接添加不同的颜色. 超链接 2 本例演示如何向超链接添加其他样式. ...

  3. CSS伪类选择器

    一.CSS伪类选择器用于给某些选择器添加效果语法规则:选择器:伪选择器例:a:link {color: #FF0000} 未访问的链接 a:visited {color: #00FF00} 已访问的链 ...

  4. CSS伪类与CSS伪元素的区别及由来

    关于两者的区别,其实是很古老的问题.但是时至今日,由于各种网络误传以及一些不负责任的书籍误笔,仍然有相当多的人将伪类与伪元素混为一谈,甚至不乏很多CSS老手.早些年刚入行的时候,我自己也被深深误导,因 ...

  5. CSS 伪类

    Link The :link CSS pseudo-class lets you select links inside elements. This will select any link whi ...

  6. CSS伪类

    CSS伪类:控制元素的某种状态 语法:元素名称:伪类名称{属性:值} CSS伪类控制链接状态 状态 语法 未访问的链接 a:link{color:#ff00ff} 已访问的链接 a:visited{c ...

  7. 应用越来越广泛的css伪类

    说起css伪类,学习web前端网页设计的同学们应该对此应该不是很陌生,以前很多的网页的特效大多是通过js来实现的.但是随着CSS3不断开发,利用css实现网页的特效不仅响应不错,而且还减少了很多的代码 ...

  8. (五)CSS伪类(Pseudo-class)

    CSS伪类用于向某些选择器添加特殊的效果.伪类的语法如下: selector : pseudo-class {property: value} CSS类也可以与伪类搭配使用: selector.cla ...

  9. 关于CSS伪类选择器

    #CSS伪类选择器 ##使用css伪类选择器需要注意的 使用css的伪类选择器来选择某元素时,需要特别注意 :first-child 和 :nth-child(n) 等时, 网页渲染是从语句的后面开始 ...

随机推荐

  1. java编程思想 一切都是对象

    java是一种面向对象程序设计语言,一切都是对象,并且用引用操作对象,如一个电视机就是一个对象,而操作电视机的遥控器就是引用,引用可以单独存在,如遥控器可以单独存在. String s; 这里只是创建 ...

  2. Android中如何查看内存

    文章参照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-a ...

  3. ASP.NET MVC 表单submit()

    HTML代码 <form id="frmLogin"> <div class="form-group has-feedback"> &l ...

  4. MySQL 联合索引详解

    MySQL 联合索引详解   联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c ...

  5. 实验三——for语句及分支结构else-if

    1.本节课学习到的知识点: (1)for语句是循环语句,它可以实现c语句的重复执行 (2)for语句中的3个表达式的执行顺序和书写顺序不同 (3)遇到复合语句时要用大括号将几句话括起来,复合语句在语法 ...

  6. 吓哭原生App的HTML5离线存储技术,却出乎意料的容易!【低调转载】

    吓哭原生App的HTML5离线存储技术,却出乎意料的容易![WeX5低调转载] 2015-11-16 lakb248 起步软件 近几天,WeX5小编编跟部分移动应用从业人士聊了聊,很多已经准备好全面拥 ...

  7. Java线程:线程的同步与锁

    一.同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏. 例如:两个线程ThreadA.ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据. public ...

  8. BigInteger和BigDecimal大数操作

    有时候可能会碰到需要计算非常大的数,比如7777777777777777777777777*3333333333333333333333333333,这样的计算需要显然不能用之前的方式来进行.我们不能 ...

  9. 使用自定义签名的https的ssl安全问题解决和metro的webservice调用

    最近一直在忙新的项目,每天加班到8点多,都没来写博客了.新的项目遇到了很多问题,现在趁着突然停电来记录下调用https的问题吧. 我们服务主要是,我们调用数据源数据,并且再提供接口供外部数据调用. 我 ...

  10. Hi, there!

    Wish you a happy day~我们一起玩WEB前端!^ ^