CSS 选择器详解:类型、用法与示例

devtools/2025/3/21 22:42:04/

在这里插入图片描述

文章目录

    • 引言
    • 1. 基本选择器
      • 1.1 元素选择器(Type Selector)
        • 语法
        • 示例
      • 1.2 类选择器(Class Selector)
        • 语法
        • 示例
      • 1.3 ID 选择器(ID Selector)
        • 语法
        • 示例
      • 1.4 通配符选择器(Universal Selector)
        • 语法
        • 示例
    • 2. 组合选择器
      • 2.1 后代选择器(Descendant Selector)
        • 语法
        • 示例
      • 2.2 子元素选择器(Child Selector)
        • 语法
        • 示例
      • 2.3 相邻兄弟选择器(Adjacent Sibling Selector)
        • 语法
        • 示例
      • 2.4 通用兄弟选择器(General Sibling Selector)
        • 语法
        • 示例
    • 3. 属性选择器
      • 3.1 属性存在选择器(Attribute Presence Selector)
        • 语法
        • 示例
      • 3.2 属性值选择器(Attribute Value Selector)
        • 语法
        • 示例
      • 3.3 属性值前缀选择器(Attribute Prefix Selector)
        • 语法
        • 示例
      • 3.4 属性值后缀选择器(Attribute Suffix Selector)
        • 语法
        • 示例
      • 3.5 属性值包含选择器(Attribute Substring Selector)
        • 语法
        • 示例
    • 4. 伪类选择器
      • 4.1 动态伪类(Dynamic Pseudo-classes)
        • 示例
      • 4.2 结构伪类(Structural Pseudo-classes)
        • 示例
      • 4.3 否定伪类(Negation Pseudo-class)
        • 语法
        • 示例
    • 5. 伪元素选择器
      • 5.1 `::before` 和 `::after`
        • 示例
      • 5.2 `::first-line` 和 `::first-letter`
        • 示例
    • 6. 总结
    • 参考资料

引言

CSS 选择器是用于选择 HTML 元素并为其应用样式的重要工具。掌握各种 CSS 选择器的用法,可以帮助开发者更高效地编写样式代码。本文将详细介绍 CSS 中的各种选择器,包括基本选择器、组合选择器、伪类选择器和伪元素选择器,并通过代码示例帮助读者深入理解。


1. 基本选择器

1.1 元素选择器(Type Selector)

元素选择器根据 HTML 元素的标签名选择元素。

语法
css">element {/* 样式规则 */
}
示例
css">p {color: blue;
}

1.2 类选择器(Class Selector)

类选择器根据元素的 class 属性选择元素。

语法
css">.className {/* 样式规则 */
}
示例
css">.highlight {background-color: yellow;
}

1.3 ID 选择器(ID Selector)

ID 选择器根据元素的 id 属性选择元素。

语法
css">#idName {/* 样式规则 */
}
示例
css">#header {font-size: 24px;
}

1.4 通配符选择器(Universal Selector)

通配符选择器选择所有元素。

语法
css">* {/* 样式规则 */
}
示例
css">* {margin: 0;padding: 0;
}

2. 组合选择器

2.1 后代选择器(Descendant Selector)

后代选择器选择某个元素的后代元素。

语法
css">ancestor descendant {/* 样式规则 */
}
示例
css">div p {color: red;
}

2.2 子元素选择器(Child Selector)

子元素选择器选择某个元素的直接子元素。

语法
css">parent > child {/* 样式规则 */
}
示例
css">ul > li {list-style-type: none;
}

2.3 相邻兄弟选择器(Adjacent Sibling Selector)

相邻兄弟选择器选择某个元素的下一个兄弟元素。

语法
css">element + sibling {/* 样式规则 */
}
示例
css">h1 + p {font-weight: bold;
}

2.4 通用兄弟选择器(General Sibling Selector)

通用兄弟选择器选择某个元素的所有兄弟元素。

语法
css">element ~ sibling {/* 样式规则 */
}
示例
css">h1 ~ p {color: green;
}

3. 属性选择器

3.1 属性存在选择器(Attribute Presence Selector)

选择具有指定属性的元素。

语法
css">[attribute] {/* 样式规则 */
}
示例
css">[target] {border: 1px solid black;
}

3.2 属性值选择器(Attribute Value Selector)

选择具有指定属性值的元素。

语法
css">[attribute="value"] {/* 样式规则 */
}
示例
css">[type="text"] {background-color: yellow;
}

3.3 属性值前缀选择器(Attribute Prefix Selector)

选择属性值以指定字符串开头的元素。

语法
css">[attribute^="value"] {/* 样式规则 */
}
示例
css">[href^="https"] {color: green;
}

3.4 属性值后缀选择器(Attribute Suffix Selector)

选择属性值以指定字符串结尾的元素。

语法
css">[attribute$="value"] {/* 样式规则 */
}
示例
css">[src$=".png"] {border: 2px solid blue;
}

3.5 属性值包含选择器(Attribute Substring Selector)

选择属性值包含指定字符串的元素。

语法
css">[attribute*="value"] {/* 样式规则 */
}
示例
css">[class*="btn"] {background-color: orange;
}

4. 伪类选择器

4.1 动态伪类(Dynamic Pseudo-classes)

根据用户交互状态选择元素。

示例
css">a:hover {color: red;
}input:focus {border-color: blue;
}

4.2 结构伪类(Structural Pseudo-classes)

根据元素在文档中的位置选择元素。

示例
css">li:first-child {font-weight: bold;
}li:nth-child(2n) {background-color: lightgray;
}

4.3 否定伪类(Negation Pseudo-class)

选择不匹配指定选择器的元素。

语法
css">:not(selector) {/* 样式规则 */
}
示例
css">:not(.highlight) {opacity: 0.5;
}

5. 伪元素选择器

5.1 ::before::after

在元素内容的前面或后面插入内容。

示例
css">p::before {content: "Note: ";font-weight: bold;
}p::after {content: " (End)";color: gray;
}

5.2 ::first-line::first-letter

选择元素的第一行或第一个字母。

示例
css">p::first-line {font-size: 1.2em;
}p::first-letter {font-size: 2em;color: red;
}

6. 总结

CSS 选择器是控制网页样式的重要工具。本文详细介绍了基本选择器、组合选择器、属性选择器、伪类选择器和伪元素选择器,并通过代码示例展示了它们的用法。掌握这些选择器,可以帮助开发者更高效地编写样式代码,实现复杂的布局和效果。


参考资料

  1. MDN Web Docs: CSS Selectors
  2. W3Schools: CSS Selectors
  3. CSS: The Definitive Guide

注意:本文中的代码示例仅供参考,实际应用中可能需要根据具体需求进行调整和优化。
在这里插入图片描述


http://www.ppmy.cn/devtools/169004.html

相关文章

自然语言处理|让AI更聪明:如何用百科知识喂饱语言模型

一、引言 在自然语言处理(NLP)领域,语言模型的发展经历了从简单统计模型到复杂深度学习模型的演变历程。早期的 N-gram 模型仅能基于局部上下文预测单词,而如今的预训练语言模型,如 GPT 系列、BERT 等,凭借…

Linux应用 / 驱动程序崩溃调试

文章目录 前言一、GDB 使用1. GDB 介绍2. Debug版本与Release版本3. 指令演示3.1 显示行号3.2 断点设置3.3 查看断点信息3.4 删除断点3.5 开启 / 禁用断点3.6 运行3.7 打印 / 追踪变量 4. 最常用指令 二、Linux 应用程序调试1. codedump 介绍2. 在 Linux 系统中使用 coredump2.…

深度学习【迭代梯度下降法求解线性回归】

梯度下降法 梯度下降法是一种常用迭代方法,其目的是让输入向量找到一个合适的迭代方向,使得输出值能达到局部最小值。在拟合线性回归方程时,我们把损失函数视为以参数向量为输入的函数,找到其梯度下降的方向并进行迭代&#xff0…

Linux的Shell编程

一、什么是Shell 1、为什么要学习Shell Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。 对于JavaEE和Python程序员来说,工作的需要。Boss会要求你编写一些Shell脚本进行程序或者是服务器的维护,比如编写一个…

Socket 、WebSocket、Socket.IO详细对比

WebSocket、Socket 和 Socket.IO 是网络通信中常用的技术,它们在功能、使用场景和实现方式上有明显的异同点。以下是它们的详细对比: 1. Socket 定义 Socket 是一个通用的网络编程接口,用于在网络上实现进程间通信(IPC&#xff0…

cool-admin-midway 使用腾讯云cos上传图片

说明:在使用cool-admin这个低代码平台时,发现官方的cos上传插件有问题,总是报错 substring,故自己找解决方案,修改本地的upload方法改为云端上传。 解决方案: 安装腾讯云cos的nodeJS SDK pnpm i cos-node…

CMS漏洞-WordPress篇

一.姿势一:后台修改模板拿WebShell 1.使用以下命令开启docker cd /www/wwwroot / vulhub / wordpress / pwnscriptum docker - compose up - d 如果发现不能开启,可以检查版本和端口 2.访问网址登录成功后 外观 👉编辑 👉404.…

Python第六章04:列表操作练习题

# 列表常用功能练习题 """ 有一个列表,内容是:[21,25,21,23,22,20],记录一批学生的年龄请通过列表的功能(方法),对齐进行: 1.定义这个列表,并用变量接收它 2.追加一个数字31&…