CSS 组合选择器
组合选择器 (Combinators) 通过组合多个简单选择器,根据它们在文档树中的特定关系来选择元素。这使得我们可以编写出更精确、更有针对性的 CSS 规则。
CSS 中有四种主要的组合选择器。
1. 后代选择器 (Descendant Selector) (空格)
后代选择器由一个空格 分隔,它会选择所有嵌套在指定祖先元素内部的后代元素,无论嵌套层级有多深。
语法: ancestor descendant
示例: div p 会选择所有 <div> 元素内部的 <p> 元素。
2. 子选择器 (Child Selector) (>)
子选择器由大于号 > 分隔,它只会选择作为指定父元素直接子代的元素。
语法: parent > child
示例: div > p 只会选择父元素是 <div> 的 <p> 元素。
3. 相邻兄弟选择器 (Adjacent Sibling Selector) (+)
相邻兄弟选择器由加号 + 分隔,它会选择紧接在指定元素之后的第一个兄弟元素。这两个元素必须拥有相同的父元素。
语法: element + target
示例: h1 + p 会选择所有紧跟在 <h1> 元素后面的 <p> 元素。
4. 通用兄弟选择器 (General Sibling Selector) (~)
通用兄弟选择器由波浪号 ~ 分隔,它会选择在指定元素之后的所有兄弟元素。这两个元素也必须拥有相同的父元素。
语法: element ~ target
示例: h1 ~ p 会选择所有在 <h1> 元素后面的、并且与 <h1> 有相同父元素的 <p> 元素。
掌握这些组合选择器,可以让你避免创建不必要的 class 或 id,编写出更干净、更具语义化的 CSS。