CSS选择器的类型有:
- 基础选择器
- 组合选择器
- 属性选择器
- 伪类选择器
- 伪元素选择器
基础选择器
选择器 | 含义 |
---|---|
* | 通用选择器,匹配页面上的所有元素(很少用) |
#id | id选择器, 匹配特定id的元素 |
.class | 类选择器, 匹配匹配class包含(不是等于)特定类的元素 |
element | 标签选择器 |
组合选择器
选择器 | 含义 |
---|---|
E,F | 多元素选择器,用逗号“,” 隔开,同时 |
E F | 后代选择器,用空格分隔,匹配E元素的所有后代元素F(儿子、孙子、曾孙子,只要叫F都算) |
E>F | 子元素选择器,匹配E元素的所有直接子元素F(儿子里叫F的都算,孙子曾孙子里叫F的不算) |
E+F | 直接相邻选择器,匹配E元素之后的相邻的相邻的同级元素F(选择后面最近的邻居) |
E~F | 普通相邻选择器,匹配E元素之后的同级元素F(无论相邻与否) |
.class1.class2 | 同时具备class1和class2属性的元素 (中间不加空格,“.”和“#”本身充当了分隔符的元素) |
element#id | 同时具备某个标签和id的元素(中间不加空格,“.”和“#”本身充当了分隔符的元素) |
属性选择器
选择器 | 含义 |
---|---|
E[attr] | 匹配所有具有attr属性的E元素 |
E[attr = value] | 匹配attr属性值为value的元素 |
E[attr ~= value] | 匹配所有属性attr有多个空格分隔,其中一个值等于value的元素 |
E[attr ^= value] | 匹配属性attr的值以value开头的元素 |
E[attr $= value] | 匹配属性attr的值以value结尾的元素 |
E[attr *= value] | 匹配属性attr的值包含value的 |
伪类选择器
选择器 | 含义 |
---|---|
E: first-child | 匹配元素E的父元素的第一个子元素 |
E: link | 匹配所有未被点击的链接 |
E: visited | 匹配所有已经被访问的链接 |
E: hover | 匹配鼠标悬停在上的E元素 |
E: active | 匹配鼠标点击下去未被释放的E元素 |
E: focus | 匹配当前获得焦点的E元素 |
E: lang(c) | 匹配lang属性等于c的E元素 |
E: enabled | 匹配表单中可用的元素 |
E: disabled | 匹配表单中禁用的元素 |
E: checked | 匹配表单中被选中的radio或checkbox元素 |
E:: selection | 匹配用户当前选中的元素 |
E:nth-child(n) | 匹配其父元素的第n个子元素,第一个编号为1 |
E:nth-last-child(n) | 匹配其父元素的倒数第n个子元素,第一个编号为1 |
E:nth-of-type(n) | 与:nth-child()作用类似,但是仅匹配使用同种标签的元素 |
E:nth-last-of-type(n) | 与:nth-last-child() 作用类似,但是仅匹配使用同种标签的元素 |
伪元素选择器
选择器 | 含义 |
---|---|
E:: first-line | 匹配E元素内容的第一行 |
E:: first-letter | 匹配E元素内容的第一个字母 |
E:: before | 匹配E元素之前的插入内容 |
E:: after | 匹配E元素之后的插入内容 |