要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。
一.简单选择器
通用选择器 ("*")
*{代码块} //选中页面中所有元素
ID 选择器 ("#")
#id名{代码块} //选中对应id属性值的元素
类选择器 (".")
.类名{代码块} //根据类名来选择
元素选择器("name")
标签名{} //将css应用到某个标签
二.复合选择器
复合选择器其实就是简单选择器与某些标识符复合使用
后代选择器 (空格)
简单选择器 简单选择器 //选择特定元素或元素组的后代,区别于子代
子选择器(”>")
简单选择器 简单选择器 //子选择器仅是指它的直接后代
相邻兄弟选择器 (”+
")
简单选择器+简单选择器 //指定元素的相邻的同级元素,必须相邻,且在被选择选择器的下面
通用兄弟选择器 (”~
")
简单选择器~简单选择器 //指定元素的所有指定同级元素
并集选择器","
简单选择器,简单选择器 //同时多个选中对应选择器的元素
三.属性选择器
[属性名]{代码块} //选择具有某属性的所有元素
[属性名=属性值]{代码块} //选择属性为指定值的所有元素
[属性名^="字符串"]{代码块} //选择属性的值以指定字符串开头的所有元素
[属性名$="字符串"]{代码块} //选择属性的值以指定字符串结尾的所有元素
[属性名*="字符串"]{代码块} //选择属性的值包含指定字符串的所有元素
d
[属性名~="字符串"]{代码块} //选择属性的值包含以空格分隔的指定字符串的所有元素,即指定的字符串与
其他单词之间有空格分隔
[属性名|="字符串"]{代码块} //选择属性的值等于指定字符串或以"字符串-"开头的所有元素
四.伪类选择器
选择器 | 例子 | 例子描述 |
---|---|---|
:active | a:active | 选择活动的链接。 |
:checked | input:checked | 选择每个被选中的 <input> 元素。 |
:disabled | input:disabled | 选择每个被禁用的 <input> 元素。 |
:empty | p:empty | 选择没有子元素的每个 <p> 元素。 |
:enabled | input:enabled | 选择每个已启用的 <input> 元素。 |
:first-child | p:first-child | 选择作为其父的首个子元素的每个 <p> 元素。 |
:first-of-type | p:first-of-type | 选择作为其父的首个 <p> 元素的每个 <p> 元素。 |
:focus | input:focus | 选择获得焦点的 <input> 元素。 |
:hover | a:hover | 选择鼠标悬停其上的链接。 |
:in-range | input:in-range | 选择具有指定范围内的值的 <input> 元素。 |
:invalid | input:invalid | 选择所有具有无效值的 <input> 元素。 |
:lang(language) | p:lang(it) | 选择每个 lang 属性值以 "it" 开头的 <p> 元素。 |
:last-child | p:last-child | 选择作为其父的最后一个子元素的每个 <p> 元素。 |
:last-of-type | p:last-of-type | 选择作为其父的最后一个 <p> 元素的每个 <p> 元素。 |
:link | a:link | 选择所有未被访问的链接。 |
:not(selector) | :not(p) | 选择每个非 <p> 元素的元素。 |
:nth-child(n) | p:nth-child(2) | 选择作为其父的第二个子元素的每个 <p> 元素。 |
:nth-last-child(n) | p:nth-last-child(2) | 选择作为父的第二个子元素的每个<p>元素,从最后一个子元素计数。 |
:nth-last-of-type(n) | p:nth-last-of-type(2) | 选择作为父的第二个<p>元素的每个<p>元素,从最后一个子元素计数 |
:nth-of-type(n) | p:nth-of-type(2) | 选择作为其父的第二个 <p> 元素的每个 <p> 元素。 |
:only-of-type | p:only-of-type | 选择作为其父的唯一 <p> 元素的每个 <p> 元素。 |
:only-child | p:only-child | 选择作为其父的唯一子元素的 <p> 元素。 |
:optional | input:optional | 选择不带 "required" 属性的 <input> 元素。 |
:out-of-range | input:out-of-range | 选择值在指定范围之外的 <input> 元素。 |
:read-only | input:read-only | 选择指定了 "readonly" 属性的 <input> 元素。 |
:read-write | input:read-write | 选择不带 "readonly" 属性的 <input> 元素。 |
:required | input:required | 选择指定了 "required" 属性的 <input> 元素。 |
:root | root | 选择元素的根元素。 |
:target | #news:target | 选择当前活动的 #news 元素(单击包含该锚名称的 URL)。 |
:valid | input:valid | 选择所有具有有效值的 <input> 元素。 |
:visited | a:visited | 选择所有已访问的链接。 |
五.伪元素选择器
选择器 | 例子 | 例子描述 |
---|---|---|
::after | p::after | 在每个 <p> 元素之后插入内容。 |
::before | p::before | 在每个 <p> 元素之前插入内容。 |
::first-letter | p::first-letter | 选择每个 <p> 元素的首字母。 |
::first-line | p::first-line | 选择每个 <p> 元素的首行。 |
::selection | p::selection | 选择用户选择的元素部分。 |