CSS(层叠样式表)中包含了多种用于选择和定位HTML文档中元素的选择器,以便为这些元素应用样式。以下是CSS中常见的一些选择器及其详细解析:
1. 基础选择器
-  元素(标签)选择器: p {color: red; }这会选择所有 <p>标签,并将它们的文字颜色设置为红色。
-  类选择器: .my-class {background-color: yellow; }通过 .加类名来选择具有相应class属性的任何元素。
-  ID选择器: #unique-id {font-size: 16px; }通过 #加ID名来选择具有唯一ID属性的特定元素。
-  通配符选择器: * {margin: 0;padding: 0; }通配符 *可以匹配文档中的所有元素,通常用于全局样式初始化。
2. 复合选择器
-  后代选择器: div p {text-align: justify; }选择所有位于 div元素内部的<p>元素,不论嵌套层级多深。
-  子元素选择器: ul > li {list-style-type: none; }选择直接位于 ul元素下的所有<li>元素,而非所有后代li。
-  相邻兄弟选择器(Adjacent sibling combinator): h1 + p {margin-top: 0; }选择紧接在 h1元素之后的第一个<p>元素。
-  一般兄弟选择器(General sibling combinator): h1 ~ p {color: green; }选择所有在 h1元素之后的同级<p>元素。
3. 属性选择器
-  精确匹配属性值: a[target="_blank"] {color: blue; }选择所有 target属性值为"_blank"的<a>链接。
-  以特定值开头或结尾: input[type^="text"] {width: 100%; }选择所有 type属性值以“text”开头的<input>元素。
-  包含特定值: [data-role] {border: 1px solid black; }选择所有具有 data-role属性(不论值为何)的元素。
4. 伪类选择器
-  动态伪类: a:hover {text-decoration: underline; }当鼠标悬停在链接上时,为其添加下划线。 
-  结构性伪类: li:first-child {font-weight: bold; }选择每个列表项中作为其父元素的第一个子元素的 <li>。
5. 其他高级选择器
- 结构化伪类(如:nth-child()、:nth-of-type()等):
 选择索引为奇数的列表项。li:nth-child(odd) {background-color: lightgrey; }
以上只是部分CSS选择器的简要介绍,实际应用中还有更多复杂组合和更细致的选择器可供使用,例如:not(), :focus-within, :has(), 等,在现代CSS规范中得到了扩展。理解并熟练运用这些选择器能够极大地提高CSS样式的灵活性和精准度。