Skip to content

选择器

简单选择器

根据名称、id、类来选取元素

选择器例子例子描述
.class.intro选取所有 class="intro" 的元素。
#id#firstname选取 id="firstname" 的那个元素。
**选取所有元素。
elementp选取所有 <p> 元素。
element,element,..div,p选取所有 <div> 元素和所有 <p> 元素。

组合器选择器

根据它们之间的特定关系来选取元素

  • 后代选择器 (空格)
  • 子选择器 (>)
  • 相邻兄弟选择器 (+)
  • 通用兄弟选择器 (~)
选择器示例示例描述
element elementdiv p选择 <div> 元素内的所有 <p> 元素。
element>elementdiv>p选择其父元素是 <div> 元素的所有 <p> 元素。
element+elementdiv+p选择所有紧随 <div> 元素之后的 <p> 元素。
element1~element2p~ul选择前面有 <p> 元素的每个 <ul> 元素。

伪类选择器

根据特定状态选取元素

伪类用于定义元素的特殊状态。

例如,它可以用于:

  • 设置鼠标悬停在元素上时的样式
  • 为已访问和未访问链接设置不同的样式
  • 设置元素获得焦点时的样式
选择器例子例子描述
:activea:active选择活动的链接。
:checkedinput:checked选择每个被选中的 <input> 元素。
:disabledinput:disabled选择每个被禁用的 <input> 元素。
:emptyp:empty选择没有子元素的每个 <p> 元素。
:enabledinput:enabled选择每个已启用的 <input> 元素。
:first-childp:first-child选择作为其父的首个子元素的每个 <p> 元素。
:first-of-typep:first-of-type选择作为其父的首个 <p> 元素的每个 <p> 元素。
:focusinput:focus选择获得焦点的 <input> 元素。
:hovera:hover选择鼠标悬停其上的链接。
:in-rangeinput:in-range选择具有指定范围内的值的 <input> 元素。
:invalidinput:invalid选择所有具有无效值的 <input> 元素。
:lang(language)p:lang(it)选择每个 lang 属性值以 "it" 开头的 <p> 元素。
:last-childp:last-child选择作为其父的最后一个子元素的每个 <p> 元素。
:last-of-typep:last-of-type选择作为其父的最后一个 <p> 元素的每个 <p> 元素。
:linka: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-typep:only-of-type选择作为其父的唯一 <p> 元素的每个 <p> 元素。
:only-childp:only-child选择作为其父的唯一子元素的 <p> 元素。
:optionalinput:optional选择不带 "required" 属性的 <input> 元素。
:out-of-rangeinput:out-of-range选择值在指定范围之外的 <input> 元素。
:read-onlyinput:read-only选择指定了 "readonly" 属性的 <input> 元素。
:read-writeinput:read-write选择不带 "readonly" 属性的 <input> 元素。
:requiredinput:required选择指定了 "required" 属性的 <input> 元素。
:rootroot选择元素的根元素。
:target#news:target选择当前活动的 #news 元素(单击包含该锚名称的 URL)。
:validinput:valid选择所有具有有效值的 <input> 元素。
:visiteda:visited选择所有已访问的链接。

伪元素选择器

选取元素的一部分并设置其样式

CSS 伪元素用于设置元素指定部分的样式。

例如,它可用于:

  • 设置元素的首字母、首行的样式
  • 在元素的内容之前或之后插入内容
选择器例子例子描述
[::after]p::after在每个 <p> 元素之后插入内容。
[::before]p::before在每个 <p> 元素之前插入内容。
[::first-letter]p::first-letter选择每个 <p> 元素的首字母。
[::first-line]p::first-line选择每个 <p> 元素的首行。
[::selection]p::selection选择用户选择的元素部分。

属性选择器

根据属性或属性值来选取元素

选择器例子例子描述
[attribute][target]选择带有 target 属性的所有元素
[attribute=value][target=_black]选择带有 target="_blank" 属性的所有元素
[attribute~=value][title~=flower]选择带有包含 "flower" 一词的 title 属性的所有元素
[attribute|=value][lang|=en]选择带有以 "en" 开头的 lang 属性的所有元素
[attribute^=value]a[href^="https"]选择其 href 属性值以 "https" 开头的每个 <a> 元素
[attribute$=value]a[href$=".pdf"]选择其 href 属性值以 ".pdf" 结尾的每个 <a> 元素
[attribute*=value]a[href*="w3school"]选择其 href 属性值包含子串 "w3school" 的每个 <a> 元素

请勿转载