--- title: CSS 选择器 slug: Web/CSS/CSS_Selectors tags: - CSS - CSS Selector - CSS 优先级 - Overview - Reference - Selectors - 参考 - 直接子代组合器 - 选择器 translation_of: Web/CSS/CSS_Selectors ---
CSS 选择器规定了 CSS 规则会被应用到哪些元素上。
备注:暂时没有能够选择 父元素、父元素的同级元素,或 父元素的同级元素的子元素 的选择器或者组合器。
* ns|* *|** 将匹配文档的所有元素。elementnameinput 匹配任何 {{HTMLElement( "input" )}} 元素。class 属性的值,选择所有匹配的元素。.classname.index 匹配任何 class 属性中含有 "index" 类的元素。id 属性选择一个与之匹配的元素。需要注意的是,一个文档中,每个 ID 属性都应当是唯一的。#idname#toc 匹配 ID 为 "toc" 的元素。[attr] [attr=value] [attr~=value] [attr|=value] [attr^=value] [attr$=value] [attr*=value][autoplay] 选择所有具有 autoplay 属性的元素(不论这个属性的值是什么)。, 是将不同的选择器组合在一起的方法,它选择所有能被列表中的任意一个选择器选中的节点。A, Bdiv, span 会同时匹配 {{HTMLElement("span")}} 元素和 {{HTMLElement("div")}} 元素。 (空格)组合器选择前一个元素的后代节点。A Bdiv span 匹配所有位于任意 {{HTMLElement("div")}} 元素之内的 {{HTMLElement("span")}} 元素。> 组合器选择前一个元素的直接子代的节点。A > Bul > li 匹配直接嵌套在 {{HTMLElement("ul")}} 元素内的所有 {{HTMLElement("li")}} 元素。~ 组合器选择兄弟元素,也就是说,后一个节点在前一个节点后面的任意位置,并且共享同一个父节点。A ~ Bp ~ span 匹配同一父元素下,{{HTMLElement("p")}} 元素后的所有 {{HTMLElement("span")}} 元素。+ 组合器选择相邻元素,即后一个元素紧跟在前一个之后,并且共享同一个父节点。A + Bh2 + p 会匹配所有紧邻在 {{HTMLElement("h2")}} 元素后的 {{HTMLElement("p")}} 元素。|| 组合器选择属于某个表格行的节点。A || Bcol || td 会匹配所有 {{HTMLElement("col")}} 作用域内的 {{HTMLElement("td")}} 元素。: 伪选择器支持按照未被包含在文档树中的状态信息来选择元素。a:visited 匹配所有曾被访问过的 {{HTMLElement("a")}} 元素。:: 伪选择器用于表示无法用 HTML 语义表达的实体。p::first-line 匹配所有 {{HTMLElement("p")}} 元素的第一行。| 规范 | 状态 | 备注 |
|---|---|---|
| {{SpecName("CSS4 Selectors")}} | {{Spec2("CSS4 Selectors")}} | 增加 || 列组合器,网格结构选择器(grid structural selectors),逻辑选择器(logical combinators), location, time-demensional, resource state, linguistic and UI pseudo-classes, modifier for ASCII case-sensitive and case-insensitive attribute value selection. |
| {{SpecName("CSS3 Selectors")}} | {{Spec2("CSS3 Selectors")}} | 新增 ~ 一般兄弟选择器和 伪类。规定伪元素选择器使用 :: 前缀。增加 属性 选择器。 |
| {{SpecName("CSS2.1", "selector.html")}} | {{Spec2("CSS2.1")}} | 新增 > 子元素选择器和 + 相邻兄弟选择器。新增 通用 选择器和 属性 选择器。 |
| {{SpecName("CSS1")}} | {{Spec2("CSS1")}} | 最初定义版本. |