CSS 选择器、伪类与伪元素

CSS 选择器系统的核心分类,以及伪类和伪元素分别解决什么问题。

#type / concept #status / growing #resource / css #tech / dev / frontend

[!info] related notes

CSS 选择器、伪类与伪元素

选择器回答的是一个最基础的问题:样式到底作用于谁。

一句话定义

CSS 选择器是一套用来描述“哪些元素应该匹配这条样式规则”的语法系统。

最常见的选择器分类

基础选择器

  • 标签选择器:div
  • 类选择器:.card
  • ID 选择器:#header
  • 通配符选择器:*

组合选择器

  • 后代选择器:.article p
  • 子元素选择器:.nav > li
  • 相邻兄弟选择器:h2 + p
  • 通用兄弟选择器:h2 ~ p

属性选择器

  • [type="text"]
  • [href^="https"]
  • [href$=".pdf"]

伪类和伪元素的区别

伪类

伪类描述的是元素的状态或结构位置。

常见例子:

  • :hover
  • :focus
  • :active
  • :first-child
  • :last-child
  • :nth-child()
  • :not()

伪元素

伪元素描述的是元素内容中的一个“虚拟部分”。

常见例子:

  • ::before
  • ::after
  • ::first-letter
  • ::first-line
  • ::selection

最容易混淆的点

  • 伪类是“元素处于什么状态”
  • 伪元素是“元素的哪个虚拟部分”

所以:

  • a:hover 是状态
  • p::before 是虚拟内容片段

最小例子

.article p:first-child {
  color: #333;
}

.article p::before {
  content: "• ";
}

最短记忆方式

选择器决定“谁被选中”;伪类看状态,伪元素看部分。

创建于 2026/3/25 更新于 2026/5/27