通用选择器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/ul) 元素内的所有 [
    • ](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最大