通用选择器(Universal selector)选择所有元素。(可选)可以将其限制为特定的名称空间或所有名称空间。
语法:*
ns|*
*|*
例子:*
将匹配文档的所有元素。
元素选择器(Type selector)按照给定的节点名称,选择所有匹配的元素。
语法:elementname
例子:input
匹配任何 <input>
元素。
类选择器(Class selector)按照给定的 class
属性的值,选择所有匹配的元素。
语法:.classname
例子:.index
匹配任何 class
属性中含有 “index” 类的元素。
ID 选择器(ID selector)按照 id
属性选择一个与之匹配的元素。需要注意的是,一个文档中,每个 ID 属性都应当是唯一的。
语法:#idname
例子:#toc
匹配 ID 为 “toc” 的元素。
属性选择器(Attribute selector)按照给定的属性,选择所有匹配的元素。
语法:[attr]
[attr=value]
[attr~=value]
[attr|=value]
[attr^=value]
[attr$=value]
[attr*=value]
例子:[autoplay]
选择所有具有 autoplay
属性的元素(不论这个属性的值是什么)。
选择器列表(Selector list),
是将不同的选择器组合在一起的方法,它选择所有能被列表中的任意一个选择器选中的节点。
语法:A, B
示例:div, span
会同时匹配 <span>
元素和 <div>
元素。
后代组合器(Descendant combinator)`(空格)组合器选择前一个元素的后代节点。<br />**语法:**
A B<br />**例子:**
div span匹配所有位于任意 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/div) 元素之内的 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/span) 元素。<br />[直接子代组合器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Child_combinator)([Child combinator](https://wiki.developer.mozilla.org/en-US/docs/Web/CSS/Child_combinator))
>组合器选择前一个元素的直接子代的节点。<br />**语法**:
A > B<br />**例子**:
ul > li匹配直接嵌套在 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/li) 元素。<br />[一般兄弟组合器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/General_sibling_combinator)([General sibling combinator](https://wiki.developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_combinator))
~组合器选择兄弟元素,也就是说,后一个节点在前一个节点后面的任意位置,并且共享同一个父节点。<br />**语法**:
A ~ B<br />**例子**:
p ~ span匹配同一父元素下,[
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/p) 元素后的所有 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/span) 元素<br />。[紧邻兄弟组合器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Adjacent_sibling_combinator)([Adjacent sibling combinator](https://wiki.developer.mozilla.org/en-US/docs/Web/CSS/Adjacent_sibling_combinator))
+组合器选择相邻元素,即后一个元素紧跟在前一个之后,并且共享同一个父节点。<br />**语法:**
A + B<br />**例子:**
h2 + p会匹配所有紧邻在 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/h2) 元素后的 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/p) 元素。<br />[列组合器](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Column_combinator)([Column combinator](https://developer.mozilla.org/en-US/docs/Web/CSS/Column_combinator))
||组合器选择属于某个表格行的节点。<br />**语法:**
A || B<br />**例子:**
col || td会匹配所有 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/col) 作用域内的 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/td) 元素。<br />[伪类](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-classes)
:伪选择器支持按照未被包含在文档树中的状态信息来选择元素。<br />**例子:**
a:visited匹配所有曾被访问过的 [
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/a) 元素。<br />[伪元素](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-elements)
::伪选择器用于表示无法用 HTML 语义表达的实体。<br />**例子:**
p::first-line匹配所有 [
`](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/p) 元素的第一行。
伪类和伪元素的区别,最关键的点在于如果没有伪元素(或伪类),是否需要添加元素才能达到目的,如果是则是伪元素,反之则是伪类。
CSS选择器优先级:内联 > ID选择器 > 类选择器 > 标签选择器。
!important最大
](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/ul) 元素内的所有 [