详解CSS3选择器的使用方法汇总
一 通用选择器
1 {}通配选择符(CSS2)适合所有元素对象。
2 E类型(HTML)选择符(CSS1)以文档语言对象类型DOM作为选择符。
3 E#myid是id选择符(CSS1)以唯一标识符id属性等于myid的E对象作为选择符。
4 E.myclass是类class选择符(CSS1)以class属性包含myclass的E对象作为选择符。
5 E F包含选择符(CSS1)选择所有被E元素包含的F元素。
CSS3新增的通用选择器同级元素通用选择器
1 通用选择器E~F{}匹配的是E元素之后的同级F元素匹配E后边所有的F,EF同级。只要F在E的后边,E只是作为一个参考。E~F { background:#ff0; }
2 临近(相邻)选择器(css2)E+F{}EF元素相邻,即选择紧贴在E元素之后F元素。
3 包含(子)选择器(css2)E>F{}EF不可以隔代,E只能匹配到下一个相邻辈F。
二 属性选择器
1.E[att^="val"]选择具有att属性且属性值为以val开头的字符串的E元素。
2.E[att$="val"]选择具有att属性且属性值为以val结尾的字符串的E元素。
3.E[att="val"]选择具有att属性且属性值为包含val的字符串的E元素。
4.E[att|="val"] 选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。
5.E[att] 选择具有att属性的E元素。
6.E[att="val"]选择具有att属性且属性值等于val的E元素。
7.E[att~="val"]选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素。
注4~7是CSS2特有的属性。 put最常用属性选择器。
三 伪类选择器
1 与用户界面有关的伪类
(1) E:enabled匹配表单中激活的元素,表单中可操作的元素。
(2) E:disabled(常用)常用匹配表单中禁用的元素 disabled="disabled" 。 eg:put[type="text"]:disabled { background:#ddd;} 只可以看不可操作。
(3) E:checked匹配表单中被选中的radio(单选框)或checkbox(复选框)元素
是整体伪类(匹配整个DOM文档)
(4) ::selection 匹配用户当前选中的元素,即设置对象被选择时的颜色。 ::selection。
2 结构性伪类
1) :root 匹配文档的根元素,对于HTML文档,就是只能匹配HTML根元素。
2) E:nth-child(n) 匹配其当前元素
E :nth-child(n):匹配其父元素E的第n个子元素,第一个编号为1
E F:nth-child(n):匹配其父元素E的第n个F元素,第一个编号为1(貌似只对ul 可用)
3) E:nth-last-child(n)匹配其父元素的倒数第n个子元素,第一个编号为1。
E:last-child匹配父元素的一个子元素,等同于:nth-last-child(1)。
4) E :nth-of-type(n)与:nth-child(n)作用类似,仅匹配使用同种标签的元素。
5) E :nth-last-of-type(n)与:nth-last-child(n) 作用类似,仅匹配使用同种标签的元素 。
6) E :first-of-type 匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1) 。
7) E :last-of-type 匹配父元素下使用同种标签的一个子元素,等同于:nth-last-of-type(1)。
8) E :only-child匹配父元素仅有的一个子元素。。
9) E:only-of-type:匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type,:last-of-type或 :nth-of-type(1),:nth-last-of-type(1) 。
10) E :empty 匹配一个不包含任何子元素的元素,注意,文本节点也被看作子元素.,空白节点也被看做子节点。
11) E:not(s) 匹配不符合当前选择器的任何元素 :not(:nth-child(1))。
3
1) E:lk{}链接伪类选择器,设置超链接a在未被访问前的样式。
2) E:visited{}链接伪类选择器,设置超链接a在其链接地址已被访问过时的样式。
3) E:hover{}用户操作伪类选择器,设置元素在其鼠标悬停时的样式。
4) E:active{}用户操作伪类选择器,设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。
5) E:focus{}用户操作伪类选择器,设置元素在成为输入焦点(该元素的onfocus事件发生)时的样式。
6) E:lang{}:伪类选择器,匹配使用特殊语言的E元素。
CSS3 选择器
在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。
"CSS" 列指示该属性是在哪个 CSS 版本中定义的。(CSS1、CSS2 还是 CSS3。)
选择器 | 例子 | 例子描述 | CSS |
---|---|---|---|
.tro | 选择 class="tro" 的所有元素。 | 1 | |
#firstname | 选择 id="firstname" 的所有元素。 | 1 | |
选择所有元素。 | 2 | ||
p | 选择所有 <p> 元素。 | 1 | |
div,p | 选择所有 <div> 元素和所有 <p> 元素。 | 1 | |
div p | 选择 <div> 元素内部的所有 <p> 元素。 | 1 | |
div>p | 选择父元素为 <div> 元素的所有 <p> 元素。 | 2 | |
div+p | 选择紧接在 <div> 元素之后的所有 <p> 元素。 | 2 | |
[target] | 选择带有 target 属性所有元素。 | 2 | |
[target=_blank] | 选择 target="_blank" 的所有元素。 | 2 | |
[title~=flower] | 选择 title 属性包含单词 "flower" 的所有元素。 | 2 | |
[lang|=en] | 选择 lang 属性值以 "en" 开头的所有元素。 | 2 | |
a:lk | 选择所有未被访问的链接。 | 1 | |
a:visited | 选择所有已被访问的链接。 | 1 | |
a:active | 选择活动链接。 | 1 | |
a:hover | 选择鼠标指针位于其上的链接。 | 1 | |
put:focus | 选择获得焦点的 put 元素。 | 2 | |
p:first-letter | 选择每个 <p> 元素的首字母。 | 1 | |
p:first-le | 选择每个 <p> 元素的首行。 | 1 | |
p:first-child | 选择属于父元素的第一个子元素的每个 <p> 元素。 | 2 | |
p:before | 在每个 <p> 元素的内容之前插入内容。 | 2 | |
p:after | 在每个 <p> 元素的内容之后插入内容。 | 2 | |
p:lang(it) | 选择带有以 "it" 开头的 lang 属性值的每个 <p> 元素。 | 2 | |
p~ul | 选择前面有 <p> 元素的每个 <ul> 元素。 | 3 | |
a[src^="https"] | 选择其 src 属性值以 "https" 开头的每个 <a> 元素。 | 3 | |
a[src$=".pdf"] | 选择其 src 属性以 ".pdf" 结尾的所有 <a> 元素。 | 3 | |
a[src="abc"] | 选择其 src 属性中包含 "abc" 子串的每个 <a> 元素。 | 3 | |
p:first-of-type | 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。 | 3 | |
p:last-of-type | 选择属于其父元素的 <p> 元素的每个 <p> 元素。 | 3 | |
p:only-of-type | 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。 | 3 | |
p:only-child | 选择属于其父元素的唯一子元素的每个 <p> 元素。 | 3 | |
p:nth-child(2) | 选择属于其父元素的第二个子元素的每个 <p> 元素。 | 3 | |
p:nth-last-child(2) | 同上,从一个子元素开始计数。 | 3 | |
p:nth-of-type(2) | 选择属于其父元素第二个 <p> 元素的每个 <p> 元素。 | 3 | |
p:nth-last-of-type(2) | 同上,从一个子元素开始计数。 | 3 | |
p:last-child | 选择属于其父元素一个子元素每个 <p> 元素。 | 3 | |
:root | 选择文档的根元素。 | 3 | |
p:empty | 选择没有子元素的每个 <p> 元素(包括文本节点)。 | 3 | |
#news:target | 选择当前活动的 #news 元素。 | 3 | |
put:enabled | 选择每个启用的 <put> 元素。 | 3 | |
put:disabled | 选择每个禁用的 <put> 元素 | 3 | |
put:checked | 选择每个被选中的 <put> 元素。 | 3 | |
:not(p) | 选择非 <p> 元素的每个元素。 | 3 | |
::selection | 选择被用户选取的元素部分。 | 3 |