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) 关注类型和位置。在实际应用中,选择合适的选择器取决于你想要根据元素的类型还是单纯的位置来选择元素。

相关推荐
会编程的土豆1 小时前
新手前端小细节
前端·css·html·项目
广州华水科技1 小时前
单北斗GNSS在桥梁形变监测中的应用与技术进展分析
前端
我讲个笑话你可别哭啊1 小时前
鸿蒙ArkTS快速入门
前端·ts·arkts·鸿蒙·方舟开发框架
CherryLee_12101 小时前
基于poplar-annotation前端插件封装文本标注组件及使用
前端·文本标注
特立独行的猫a1 小时前
C++轻量级Web框架介绍与对比:Crow与httplib
开发语言·前端·c++·crow·httplib
周航宇JoeZhou1 小时前
JB2-7-HTML
java·前端·容器·html·h5·标签·表单
代码小库1 小时前
【课程作业必备】Web开发技术HTML静态网站模板 - 校园动漫社团主题完整源码
前端·html
珹洺1 小时前
Bootstrap-HTML(二)深入探索容器,网格系统和排版
前端·css·bootstrap·html·dubbo
BillKu1 小时前
VS Code HTML CSS Support 插件详解
前端·css·html
xixixin_2 小时前
【React】中 Body 类限定法:优雅覆盖挂载到 body 的组件样式
前端·javascript·react.js