css选择器 nth-of-type 和 nth-child 区别_通过元素类型区分选择逻辑
发布时间 - 2026-02-03 00:00:00 点击率:次nth-child按子节点总序号匹配,不区分类型;nth-of-type仅在同类型兄弟中计数。二者均作用于直接子元素,IE9+支持,性能无差异。
nth-child 选的是位置,不关心元素类型
只要父元素下第 常见错误现象: 使用场景典型:文章正文里想给“第 3 个段落”加样式,不管前面有没有 立即学习“前端免费学习笔记(深入)”; 假设有如下 HTML: 第一段 第二段 那么: 如果删掉 两者在现代浏览器中解析开销几乎一致,都不是性能瓶颈。真正影响渲染效率的是选择器整体复杂度(比如嵌套过深、通配符滥用),而不是 兼容性方面,IE9+ 都支持,但 IE8 及更早版本完全不支持这两个伪类 —— 如果还要兼容,得用 class 手动标记或 JS 补充。 最常被忽略的一点:它们都只作用于**直接子元素**。写成 n 个子节点恰好满足条件(比如 2n),就命中,哪怕它是 、 或注释节点。浏览器按 DOM 树顺序从 1 开始数子节点,完全忽略标签名。
div:nth-child(2) 没生效,其实是因为第二个子节点是 ,不是 —— 它根本不会去“找第二个 div”,只看“第二个孩子是不是 div”。
,所有 :nth-child(n) 的匹配结果都会偏移:n,但始终基于总子节点序号计算
nth-of-type 只看同类型兄弟节点的顺序
:nth-of-type(n) 会先筛选出和当前选择器标签名一致的兄弟节点(比如所有 ),再在这些同类节点里按出现顺序编号,取第 n 个。、 或空 —— 只要它是第 3 个 就行。
)的“类型”,因为它们没有结束标签,不参与同类型计数逻辑::before)不参与任何 :nth- 计算,它们不在 DOM 子节点中混用时容易踩的坑:div:nth-child(2) ≠ div:nth-of-type(2)
标题
p:nth-child(2) → 匹配“第一段”,因为它是第 2 个子节点p:nth-of-type(2) → 匹配“第二段”,因为它是第 2 个
div:nth-child(3) → 匹配那个 ,因为它是第 3 个子节点
div:nth-of-type(1) → 同样匹配它,因为它是唯一一个
,p:nth-child(2) 就会从匹配“第一段”变成匹配“第二段”,而 p:nth-of-type(2) 始终不变。性能与兼容性其实没差别
nth-child 和 nth-of-type 的差异。section p:nth-of-type(1) 是合法的,但这里的 :nth-of-type(1) 是针对每个 在其**各自父容器内**计数,不是在整个 下所有 统一排序。
# css
# html
# js
# 伪元素
# cms
# 浏览器
# 区别
# 性能瓶颈
# css选择器
# class
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JS实现鼠标移上去显示图片或微信二维码
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
如何续费美橙建站之星域名及服务?
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
Laravel怎么调用外部API_Laravel Http Client客户端使用
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
浅谈javascript alert和confirm的美化
教你用AI将一段旋律扩展成一首完整的曲子
如何解决hover在ie6中的兼容性问题
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
如何在IIS中配置站点IP、端口及主机头?
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
如何用低价快速搭建高质量网站?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
微信小程序 五星评分(包括半颗星评分)实例代码
Android okhttputils现在进度显示实例代码
焦点电影公司作品,电影焦点结局是什么?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
专业商城网站制作公司有哪些,pi商城官网是哪个?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
如何在宝塔面板中创建新站点?
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
nginx修改上传文件大小限制的方法
百度浏览器如何管理插件 百度浏览器插件管理方法
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
lovemo网页版地址 lovemo官网手机登录
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
原生JS实现图片轮播切换效果
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
Swift中swift中的switch 语句
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何快速建站并高效导出源代码?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
香港服务器部署网站为何提示未备案?
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
简历没回改:利用AI润色让你的文字更专业
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】

