css选择器大全

2024-07-14 15:32:50 173
CSS选择器是用于选择 HTML 元素并应用样式规则的模式。下面列出了一些常见的 CSS 选择器,并结合示例进行说明。

基本选择器

选择器描述示例说明
*选择所有元素* { color: red; }选择页面中的所有元素。
element选择所有指定类型的元素p { color: blue; }选择所有 <p> 元素。
#id选择具有指定 ID 的元素#header { font-size: 20px; }选择 ID 为 header 的元素。
.class选择具有指定类的所有元素.highlight { color: yellow; }选择所有类为 highlight 的元素。

组合选择器

选择器描述示例说明
element, element组合选择器,选择所有指定类型的元素h1, h2 { color: green; }选择所有 <h1><h2> 元素。
element element后代选择器,选择所有指定父元素的子元素div p { color: red; }选择所有 div 元素内的 <p> 元素。
element > element子选择器,选择所有指定父元素的直接子元素div > p { color: blue; }选择所有 div 元素的直接子元素 <p>
element + element相邻兄弟选择器,选择紧接在指定元素之后的兄弟元素h1 + p { margin-top: 0; }选择紧接在 <h1> 元素后的 <p> 元素。
element ~ element一般兄弟选择器,选择在指定元素之后的所有兄弟元素h1 ~ p { color: blue; }选择在 <h1> 元素之后的所有 <p> 元素。

属性选择器

选择器描述示例说明
[attribute]选择具有指定属性的所有元素a[target] { color: red; }选择所有具有 target 属性的 <a> 元素。
[attribute="value"]选择属性值等于指定值的所有元素a[target="_blank"] { color: blue; }选择所有 target 属性值为 _blank<a> 元素。
[attribute^="value"]选择属性值以指定值开头的所有元素a[href^="https"] { color: green; }选择所有 href 属性值以 https 开头的 <a> 元素。
[attribute$="value"]选择属性值以指定值结尾的所有元素a[href$=".pdf"] { color: red; }选择所有 href 属性值以 .pdf 结尾的 <a> 元素。
[attribute*="value"]选择属性值包含指定值的所有元素a[href*="example"] { color: purple; }选择所有 href 属性值包含 example<a> 元素。

伪类选择器

选择器描述示例说明
:first-child选择父元素的第一个子元素p:first-child { color: red; }选择所有父元素的第一个 <p> 元素。
:last-child选择父元素的最后一个子元素p:last-child { color: blue; }选择所有父元素的最后一个 <p> 元素。
:nth-child(n)选择父元素的第 n 个子元素p:nth-child(2) { color: green; }选择所有父元素的第 2 个 <p> 元素。
:nth-last-child(n)选择父元素的倒数第 n 个子元素p:nth-last-child(2) { color: purple; }选择所有父元素的倒数第 2 个 <p> 元素。
:first-of-type选择父元素中特定类型的第一个子元素p:first-of-type { color: red; }选择父元素中第一个 <p> 元素。
:last-of-type选择父元素中特定类型的最后一个子元素p:last-of-type { color: blue; }选择父元素中最后一个 <p> 元素。
:nth-of-type(n)选择父元素中特定类型的第 n 个子元素p:nth-of-type(2) { color: green; }选择父元素中第 2 个 <p> 元素。
:nth-last-of-type(n)选择父元素中特定类型的倒数第 n 个子元素p:nth-last-of-type(2) { color: purple; }选择父元素中倒数第 2 个 <p> 元素。
:only-child选择父元素中唯一的子元素p:only-child { color: red; }选择父元素中唯一的 <p> 元素。
:only-of-type选择父元素中唯一特定类型的子元素p:only-of-type { color: blue; }选择父元素中唯一的 <p> 元素。
:empty选择没有子元素的元素p:empty { display: none; }选择没有子元素的 <p> 元素。
:root选择文档的根元素:root { --main-color: #06c; }选择文档的根元素(通常为 <html>)。
:not(selector)选择所有不匹配指定选择器的元素:not(p) { color: gray; }选择所有不是 <p> 的元素。
:lang(language)选择具有指定语言属性的元素p:lang(en) { color: blue; }选择语言属性为 en<p> 元素。
:target选择当前活动的锚链接目标元素#section:target { border: 2px solid blue; }选择当前活动的 ID 为 section 的元素。
:hover选择鼠标悬停在其上的元素a:hover { color: red; }选择鼠标悬停的 <a> 元素。
:focus选择获得焦点的元素input:focus { border: 2px solid blue; }选择获得焦点的 <input> 元素。
:active选择用户激活的元素a:active { color: green; }选择用户激活的 <a> 元素。
:visited选择已访问的链接a:visited { color: purple; }选择已访问的 <a> 元素。
:link选择未访问的链接a:link { color: blue; }选择未访问的 <a> 元素。
:checked选择选中的输入元素(复选框或单选按钮)input:checked { background-color: yellow; }选择选中的 <input> 元素。
:disabled选择禁用的输入元素input:disabled { background-color: gray; }选择禁用的 <input> 元素。
:enabled选择启用的输入元素input:enabled { background-color: white; }选择启用的 <input> 元素。
:required选择必填的输入元素input:required { border: 2px solid red; }选择必填的 <input> 元素。
:optional选择可选的输入元素input:optional {border: 2px solid green; }选择可选的 <input> 元素。
:valid选择值合法的输入元素input:valid { border: 2px solid blue; }选择值合法的 <input> 元素。
:invalid选择值不合法的输入元素input:invalid { border: 2px solid red; }选择值不合法的 <input> 元素。

伪元素选择器

选择器描述示例说明
::before在元素的内容前插入内容p::before { content: "Note: "; }在每个 <p> 元素前插入“Note: ”内容。
::after在元素的内容后插入内容p::after { content: " End"; }在每个 <p> 元素后插入“ End”内容。
::first-line选择元素的第一行p::first-line { font-weight: bold; }将每个 <p> 元素的第一行加粗。
::first-letter选择元素的第一个字母p::first-letter { font-size: 200%; }将每个 <p> 元素的第一个字母放大两倍。
::selection选择用户选中的部分内容p::selection { background: yellow; }将选中部分的背景色改为黄色。