css 选择器汇总

目录

所有选择器

选择器 用法
id选择器 #myid
类选择器 .myclassname
标签选择器 div,h1,p
相邻选择器 h1+p
子选择器 ul > li
后代选择器 li a
通配符选择器 *
属性选择器 a[rel="external"]
伪类选择器 a:hover, li:nth-child

伪类选择器

在CSS3中新增了一个结构伪类选择器,它能用更加简洁的代码,实现我们的某些需求。

定义:结构伪类选择器主要根据的是文档的结构来选择元素,常常用在根据父级选择器选出某些想要的子元素。

主要语法如下:

编号 语法 含义
1 E:first-child 匹配父元素中的第一个子元素E
2 E:last-child 匹配父元素中最后一个E元素
3 E:nth-child(n) 匹配父元素中的第n个子元素E
4 E:first-of-type 指定类型E的第一个
5 E:last-of-type 指定类型E的最后一个
6 E:nth-of-type(n) 指定类型E的第n个

区别(:nth-child(n) 和 :nth-of-type(n))

:nth-child(n) 和 :nth-of-type(n) 都是 CSS 中的伪类选择器,用于根据它们在父元素中的位置来选择特定的元素。然而,它们之间有一个关键的区别:

:nth-child(n)

这个选择器会选择父元素的第 n 个子元素,无论子元素的类型是什么。它根据元素在父元素中的位置来选择,而不考虑元素的类型。这意味着如果一个父元素有多个不同类型的子元素(例如 div, p, span),:nth-child(n) 会选择第 n 个出现的子元素,无论它的具体类型。

:nth-of-type(n)

相比之下,:nth-of-type(n) 选择器会根据元素的类型来选择特定位置的子元素。它只计算与目标元素相同类型的兄弟元素,并选择其中的第 n 个。例如,如果你想选择所有 p 标签中的第二个,你将使用 p:nth-of-type(2),这将跳过任何非 p 类型的兄弟元素。

示例:

typescript 复制代码
<div id="parent">
  <p>Paragraph 1</p>
  <div>Div 1</div>
  <p>Paragraph 2</p>
  <div>Div 2</div>
  <p>Paragraph 3</p>
</div>
typescript 复制代码
/* 使用 :nth-child(n) */
#parent > *:nth-child(2) {
  color: red;
}

/* 使用 :nth-of-type(n) */
#parent > p:nth-of-type(2) {
  color: blue;
}

在上述示例中:

*:nth-child(2) 将选择 #parent 内部的第二个子元素,这里是 div("Div 1"),并将其文本颜色设置为红色。

p:nth-of-type(2) 将选择 #parent 内部的第二个

元素("Paragraph 2"),并将其文本颜色设置为蓝色。

总结来说,:nth-child(n) 关注位置,而 :nth-of-type(n) 关注类型和位置。在实际应用中,选择合适的选择器取决于你想要根据元素的类型还是单纯的位置来选择元素。

相关推荐
Swift社区几秒前
从 0 到 1 构建一个完整的 AGUI 前端项目的流程在 ESP32 上运行
前端·算法·职场和发展
一只小风华~20 分钟前
学习笔记:Vue Router 中的链接匹配机制与样式控制
前端·javascript·vue.js·笔记·学习·ecmascript
Jerry_Rod30 分钟前
react+umijs 项目快速学习
前端·react.js
京东云开发者35 分钟前
浅析cef在win和mac上的适配
前端
uhakadotcom42 分钟前
在chrome浏览器插件之中,options.html和options.js常用来做什么事情
前端·javascript·面试
西瓜树枝1 小时前
Chrome 扩展开发从入门到实践:以 Cookie 跨页提取工具为例,拆解核心模块与交互逻辑
前端·javascript·chrome
gplitems1231 小时前
Download:Blaxcut - Barbershop & Hair Salon WordPress Theme
前端
拜无忧1 小时前
【DEMO】互动信息墙 - 无限流动版-点击放大
前端
AliPaPa1 小时前
你可能忽略了useSyncExternalStore + useOptimistic + useTransition
前端·react.js