元素选择器
-
通配符选择器:*
选择当面页面所有的元素,一般用于设置全局样式 -
标签选择器: div
选择所有的div元素 -
类选择器:.btn
选择所有有class包含btn的元素 -
id选择器:#app
选择id为app的一个元素
- 一个元素可以有多个class,但只能有一个唯一的id。类名可以重用,但id是唯一的
关系选择器
-
后代选择器(F C)
选择父元素F的所有后代元素C,包括子元素,孙元素...(如:.btn span) -
子代选择器(F>C)
选择父元素F的子元素C(如:div>p) -
相邻选择器(E+B)
选择和元素E的紧邻的一个元素B,E和B应该同属于一个父元素(如:h3+p会选中p1) -
兄弟选择器(E~B)
选择和元素E的紧邻的所有符合条件的兄弟元素B,E和B应该同属于一个父元素(如: h3~p 则会选中p1、p2、p3)
<h3>这是一个标题</h3>
<p>p1</p>
<p>p2</p>
<p>p3</p>
属性选择器
| 选择器格式 | 版本 | 功能 |
|---|---|---|
| E[att] | CSS2 | 选择具有att属性的E元素。 |
| E[att="val"] | CSS2 | 选择具有att属性且属性值等于val的E元素。 |
| E[att~="val"] | CSS2 | 选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素。 |
| E[att^="val"] | CSS3 | 选择具有att属性且属性值为以val开头的字符串的E元素。 |
| E[att$="val"] | CSS3 | 选择具有att属性且属性值为以val结尾的字符串的E元素。 |
| E[att*="val"] | CSS3 | 选择具有att属性且属性值为包含val的字符串的E元素。 |
| E[att|="val"] | CSS2 | 选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素,如果属性值仅为val,也将被选择 |
伪类选择器(常用)
| 选择器格式 | 版本 | 功能 |
|---|---|---|
| E:link | CSS1 | 设置超链接a在未被访问前的样式。 |
| E:visited | CSS1 | 设置超链接a在其链接地址已被访问过时的样式。 |
| E:hover | CSS1/2 | 设置元素在其鼠标悬停时的样式。 |
| E:active | CSS1/2 | 设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。 |
| E:first-child | CSS2 | 匹配父元素的第一个子元素E。 |
| E:last-child | CSS3 | 匹配父元素的最后一个子元素E。 |
| E:nth-child(n) | CSS3 | 匹配父元素的第n个子元素E。 |
| E:nth-last-child(n) | CSS3 | 匹配父元素的倒数第n个子元素E。 |
伪元素选择器
| 选择器格式 | 版本 | 功能 |
|---|---|---|
| E:first-letter/E::first-letter | CSS1/3 | 设置对象内的第一个字符的样式。 |
| E:first-line/E::first-line | CSS1/3 | 设置对象内的第一行的样式。 |
| E:before/E::before | CSS2/3 | 设置在对象前(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用 |
| E:after/E::after | CSS2/3 | 设置在对象后(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用 |
| E::placeholder | CSS3 | 设置对象文字占位符的样式。 |
| E::selection | CSS3 | 设置对象被选择时的颜色。 |