伪类

伪类是被选择器匹配到的HTML元素的一些状态,比如鼠标没有经过的时候、鼠标经过时候等。

如果了解Android的话,Android里面有状态列表, 就是正常状态、按下状态、获得焦点状态、失去焦点状态等很多状态。这里的伪类就是表达的这个意思。

提供伪类的目的是将常用的操作直接写在CSS里面,让浏览器内核去实现这些操作, 避免开发者自己直接操作DOM,可以大大提高开发者的效率。

伪类不是选择器。但是伪类是和选择器连在一起的。

伪类的形式如下:

selector:伪类

selector是前面讲到的任意选择器。

1.6.1、selector:link

Since:CSS2.1

匹配所有未被点击的链接。如果selector匹配到的是a元素,你才能看到效果。

示例:

a:link {
    text-decoration: none;
    color: red;
}

.copyright:link {
    text-decoration: none;
    color: red;
}
1.6.2、selector:visited

Since:CSS2.1

匹配所有未被点击的链接。如果selector匹配到的是a元素,你才能看到效果。

示例:

a:visited {
    text-decoration: none;
    color: red;
}

.copyright:visited {
    text-decoration: none;
    color: red;
}
1.6.3、selector:hover

Since:CSS2.1

selector匹配到的HTML元素,在鼠标悬停其上的状态。

示例:

div:hover {
    text-decoration: none;
    color: green;
}

.item:hover {
    text-decoration: none;
    color: green;
}

这个例子里面,div是元素选择器,.item是类选择器。:hover匹配这些选择器匹配到的元素当鼠标在这些元素上面的时候的状态。

1.6.4、selector:active

Since:CSS2.1

selector匹配到的HTML元素,鼠标已经其上按下、还没有释放的状态。

示例:

div:active {
    text-decoration: none;
    color: yellow;
}

.item:active {
    text-decoration: none;
    color: yellow;
}

这个例子里面,div是元素选择器,.item是类选择器。:active匹配这些选择器匹配到的元素当鼠标已经其上按下、还没有释放的状态。

1.6.4、selector:focus

Since:CSS2.1

selector匹配到的HTML元素,获得焦点的状态。

示例:

div:focus {
    text-decoration: none;
    color: orange;
}

.item:focus {
    text-decoration: none;
    color: orange;
}

这个例子里面,div是元素选择器,.item是类选择器。:focus匹配这些选择器匹配到的元素获得焦点的状态。

1.6.5、selector:enabled

Since:CSS3

匹配表单元素的被激活的状态。

示例:

input:enabled {
    text-decoration: none;
    color: red;
}

input[type="text"]:enabled {
    text-decoration: none;
    color: red;
}

这个例子里面,input是元素选择器,input[type="text"]是属性选择器。:enabled匹配这些选择器匹配到的元素的激活状态。

1.6.6、selector:disabled

Since:CSS3

匹配表单元素的被禁用的状态。

示例:

input:disabled {
    text-decoration: none;
    color: gray;
}

input[type="text"]:disabled {
    text-decoration: none;
    color: gray;
}

这个例子里面,input是元素选择器,input[type="text"]是属性选择器。:enabled匹配这些选择器匹配到的元素的被禁用的状态。

1.6.7、selector:checked

Since:CSS3

匹配表单元素(radio、checkbox)的被选中的状态。

示例:

input[type="radio"]:checked {
    background: url("../images/btn-radio-checked.png");
    color: yellow;
}

input[type="checkbox"]:checked {
    background: url("../images/btn-checkbox-checked.png");
    color: yellow;
}

这个例子里面,input[type="radio"]input[type="checkbox"]都是属性选择器。:checked匹配这些选择器匹配到的元素的被选中的状态。