伪类是被选择器匹配到的HTML
元素的一些状态,比如鼠标没有经过的时候、鼠标经过时候等。
如果了解Android
的话,Android
里面有状态列表, 就是正常状态、按下状态、获得焦点状态、失去焦点状态等很多状态。这里的伪类就是表达的这个意思。
提供伪类的目的是将常用的操作直接写在CSS
里面,让浏览器内核去实现这些操作, 避免开发者自己直接操作DOM
,可以大大提高开发者的效率。
伪类不是选择器。但是伪类是和选择器连在一起的。
伪类的形式如下:
selector:伪类
selector
是前面讲到的任意选择器。
Since
:CSS2.1
匹配所有未被点击的链接。如果selector
匹配到的是a
元素,你才能看到效果。
示例:
a:link {
text-decoration: none;
color: red;
}
.copyright:link {
text-decoration: none;
color: red;
}
Since
:CSS2.1
匹配所有未被点击的链接。如果selector
匹配到的是a
元素,你才能看到效果。
示例:
a:visited {
text-decoration: none;
color: red;
}
.copyright:visited {
text-decoration: none;
color: red;
}
Since
:CSS2.1
selector
匹配到的HTML
元素,在鼠标悬停其上的状态。
示例:
div:hover {
text-decoration: none;
color: green;
}
.item:hover {
text-decoration: none;
color: green;
}
这个例子里面,div
是元素选择器,.item
是类选择器。:hover
匹配这些选择器匹配到的元素当鼠标在这些元素上面的时候的状态。
Since
:CSS2.1
selector
匹配到的HTML
元素,鼠标已经其上按下、还没有释放的状态。
示例:
div:active {
text-decoration: none;
color: yellow;
}
.item:active {
text-decoration: none;
color: yellow;
}
这个例子里面,div
是元素选择器,.item
是类选择器。:active
匹配这些选择器匹配到的元素当鼠标已经其上按下、还没有释放的状态。
Since
:CSS2.1
selector
匹配到的HTML
元素,获得焦点的状态。
示例:
div:focus {
text-decoration: none;
color: orange;
}
.item:focus {
text-decoration: none;
color: orange;
}
这个例子里面,div
是元素选择器,.item
是类选择器。:focus
匹配这些选择器匹配到的元素获得焦点的状态。
Since
:CSS3
匹配表单元素的被激活的状态。
示例:
input:enabled {
text-decoration: none;
color: red;
}
input[type="text"]:enabled {
text-decoration: none;
color: red;
}
这个例子里面,input
是元素选择器,input[type="text"]
是属性选择器。:enabled
匹配这些选择器匹配到的元素的激活状态。
Since
:CSS3
匹配表单元素的被禁用的状态。
示例:
input:disabled {
text-decoration: none;
color: gray;
}
input[type="text"]:disabled {
text-decoration: none;
color: gray;
}
这个例子里面,input
是元素选择器,input[type="text"]
是属性选择器。:enabled
匹配这些选择器匹配到的元素的被禁用的状态。
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
匹配这些选择器匹配到的元素的被选中的状态。