Published 2022-05-13

css - Pseudo-classes

伪类是 CSS 中一种常用的选择器,它允许我们选择不同状态或行为的元素,这些状态或行为可能不是通过标准 HTML 属性来表示的。

伪类以“:”符号开头,紧跟着选择器名称,例如: hover、:focus、:active 等。以下是一些常见的伪类和它们的作用:

:hover 伪类:当鼠标悬停在元素上时,应用样式。

a:hover {
  color: red;
}

:active 伪类:当元素被激活(例如被鼠标点击)时,应用样式。

button:active {
  background-color: green;
}

:focus 伪类:当元素获取焦点(例如通过 tab 键)时,应用样式。

input:focus {
  border: 1px solid blue;
}

:nth-child(n) 伪类:选择元素在其父元素中特定位置的子元素。其中 n 可以是数字、关键字(例如 even、odd)、表达式(例如 2n+1)等。

ul li:nth-child(odd) {
  background-color: lightgray;
}

:nth-of-type(n) 伪类:选择同一类型的元素中特定位置的元素。例如,选择第二个 p 元素,而不是第二个任意类型的元素。

p:nth-of-type(2) {
  font-size: 20px;
}

:first-child 伪类:选择作为其父元素中第一个子元素的元素。

li:first-child {
  font-weight: bold;
}

:last-child 伪类:选择作为其父元素中最后一个子元素的元素。

li:last-child {
  text-decoration: underline;
}

伪类是 CSS 中强大的工具,能够帮助我们针对不同的状态和行为选择元素并应用样式。熟练掌握常用的伪类,能够使我们编写更加灵活和高效的 CSS 代码。