# 动态伪类选择器

选择器 类型 功能描述
E:link 链接伪类选择器 E 元素被定义超链接并未被访问过
E:visited 链接伪类选择器 E 元素被定义超链接并已被访问过
E:active 用户行为伪类选择器 E 元素被激活,常用于锚点和按钮
E:hover 用户行为伪类选择器 鼠标停留在 E 元素
E:focus 用户行为伪类选择器 E 元素获取焦点

# 链接伪类选择器

  • 简介

    根据具有链接属性的 E 元素的被访问情况进行匹配。

  • 例子

    • index.html

      <a href="http://.cn">广州</a>
      
    • index.css

      a:link {
        color: #f00;
      }
      
      a:visited {
        color: #0ff;
      }
      

# 用户行为伪类选择器

  • 简介

    根据用户对于 E 元素的操作来进行匹配。

  • 例子

    • index.html

      <a href="http://.cn">广州</a> <input name="" />
      
    • index.css

      a:hover {
          color: black;
      }
      
      a:active {
          color: yellow;
      }
      
      input:focus {
        backgroud-color: #ccc;
      }
      
  • a 标签伪类设置顺序

    a标签的伪类设置顺序一般按照l-v-h-a,lvha 规则是由于CSS特殊性导致,css特殊性有一个按顺序的规则(同一条css规则,后出现会覆盖前面的同样规则)

    根据用户体验,active伪类样式应该在最后,hover伪类样式是不管链接是否被访问过,在鼠标移过的时候hover样式都应该展示,

    所以放在link和visited后面(第三的位置)。我们还需要去区分点击过和未被点击过的链接样式,所以visited伪类样式放在link后面(第二的位置)。

    • index.html

      <a href="http://www.baidu.com">百度</a>
      
    • index.css

      a:link {
          color: blue;
      }
      
      a:visited {
          color: red;
      }
      
      a:hover {
          color: black;
      }
      
      a:active {
          color: yellow;
      }
      
更新时间: 2021年8月30日星期一晚上9点32分