CSS3伪类选择器有哪些_常用nthchildfirstchild用法【介绍】


:nth-child和:nth-of-type行为不同:前者按子元素位置匹配,后者按同类型元素顺序匹配;:first-child与:first-of-type同理,一字之差可能导致完全不匹配。

:nth-child:first-child 不是“有哪些”的罗列对象,而是**有明确行为差异、必须按场景选对的两个关键伪类**。用错一个,样式就失效——尤其在混合子元素(比如 div 里夹着 ph2span)时。

为什么 :nth-child(n) 经常“选不到”你想要的元素?

它只认「位置」,不认「类型」::nth-child(2) 意思是“父元素下的第二个子元素”,然后才判断这个子元素是不是你写的标签名。如果第二个子元素是 h2,而你写的是 p:nth-child(2),那这条规则完全不生效。

  • 常见错误现象:给 ul 写了 li:nth-child(2),但第二项没变色——检查一下 ul 开头有没有注释、空格、或意外插入的 div
  • 适用场景:父元素下所有子元素类型一致(如纯 li 列表),且你关心的是视觉顺序位置
  • 参数本质:n 从 0 开始代入公式,2n+1 等价于 odd3n 表示第 3、6、9…个位置(不是第 3、第 6 个 li

:nth-of-type(n) 才是你真正需要“找第 n 个 li”的解法

它先筛出所有同类型元素(比如全部 p),再按它们在父元素中出现的顺序编号,:nth-of-type(2) 就是“第二个 p”,不管它前面隔着几个 h3div

  • 典型使用场景:文章正文里混排标题、段落、图片,你想让“第三个段落”加粗,就得用 p:nth-of-type(3)
  • :nth-child 权重相同(都是 10),但逻辑完全不同;切勿当成同义词互换
  • 兼容性无顾虑:IE9+ 全支持,现代项目可放心用

:first-child vs :first-of-type:一字之差,结果可能全空

假设父容器是:

  

标题

第一段

立即学习“前端免费学习笔记(深入)”;

第二段

  • p:first-child → 不匹配任何元素(因为第一个子元素是 h2
  • p:first-of-type → 匹配“第一段”(它是第一个 p
  • h2:first-child → 成功匹配(h2 正好是第一个子元素)
  • 同理,:last-child:last-of-type 行为对称,但含义不可互换

隔行变色这种“刚需”,到底该用哪个?

绝大多数情况下,用 :nth-child(even) 最稳妥——前提是你的列表结构干净(如纯 tr 或纯 li)。但如果表格里插了 theadtfoot 或额外 tr class="divider",就会错位。

  • tbody > tr 结构 → tbody > tr:nth-child(even)
  • thead 的表格 → 改用 tbody > tr:nth-of-type(even)(只数 tbody 下的 tr
  • 想跳过首行标题 → tr:nth-child(n+2)(从第 2 个子元素开始选),不是 tr:nth-child(2n)
真正容易被忽略的点是:**:nth-child:nth-of-type 都只看直接子元素层级**。如果你写了 ul li:nth-child(1),它不会去 ul 的孙子辈里找,也不会跨过嵌套的 ol 去算。结构一复杂,就必须靠开发者自己判断:我要控制的是“第几个孩子”,还是“第几个同类元素”。


# css  # css3  # 伪类选择器  # 为什么  # class  # 对象  # 选择器  # 伪类  # ul  # tbody  # tr  # li  # 的是  # 几个  # 写了  # 一字  # 你写  # 之差  # 都是  # 不匹配  # 就会  # 如果你 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化76771 】 【 技术知识130152 】 【 IDC云计算60162 】 【 营销推广131313 】 【 AI优化88182 】 【 百度推广37138 】 【 网站推荐60173 】 【 精选阅读31334


相关推荐: php修改数据怎么改富文本_update更新html内容注意事项【说明】  Win10如何卸载微软拼音输入法 Win10只保留一个输入法【教程】  如何在Golang中定义接口_抽象方法和多态实现  c++怎么使用std::filesystem遍历文件夹_c++ 递归查找文件与权限修改【技巧】  如何在Golang中处理JSON字段缺失_Golangjson解析字段校验方法  MAC怎么截图并快速编辑_MAC自带截图快捷键与标注工具使用【方法】  Win11怎么查看电脑配置_Win11硬件配置详细查询方法【详解】  php嵌入式日志记录怎么实现_php将硬件数据写入本地日志文件【指南】  Python面向对象实战讲解_类与设计模式深入理解  php接口返回数据乱码怎么办_php接口调试编码问题解决【指南】  Mac如何调整Dock栏大小和位置_Mac程序坞个性化设置  Go 中 defer 在 goroutine 内部不生效的原因与执行时机详解  Win11怎么更改任务栏位置_修改注册表将Win11任务栏置顶【教程】  Win11怎么打开旧版计算器_Win11恢复传统计算器应用【详解】  微信短链接怎么还原php_用浏览器开发者工具抓包获取【方法】  如何使用Golang捕获并记录协程panic_保证主程序稳定运行  LINUX的SELinux是什么_详解LINUX强制访问控制系统的入门与配置  Python技术债务管理_长期维护解析【教程】  Win11玩游戏全屏闪退怎么办_Win11全屏优化禁用设置【教程】  Win11怎么关闭定位服务_保护Win11位置隐私设置指南【详解】  php怎么连接数据库_MySQL数据库连接的基础代码编写【说明】  Windows怎样关闭开始菜单广告_Windows关闭开始菜单广告设置【步骤】  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Win10怎样清理C盘Steam游戏缓存_Win10清理Steam游戏缓存步骤【步骤】  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  c++中如何使用虚函数实现多态_c++多态性实现原理  Ajax提交表单PHP怎么接收_处理Ajax发送的表单数据技巧【指南】  如何使用Golang table-driven基准测试_多组数据测量函数效率  Win10怎样清理C盘浏览器缓存_Win10清理浏览器缓存步骤【步骤】  Mac如何使用听写功能_Mac语音输入打字【效率技巧】  PHP的FastAdmin架构适合二次开发吗_特点分析【介绍】  Win11怎么关闭透明效果_Windows11个性化颜色关闭透明  php错误怎么开启_display_errors与log_errors的设置【汇总】  php订单日志怎么记录评价_php记录订单评价日志方法【方法】  Win10闹钟铃声怎么自定义 Win10闹钟自定义铃声教程【方法】  ACF 教程:如何正确更新嵌套在多层 Group 字段内的子字段  Linux如何安装Golang环境_Linux下Go语言开发包配置【方法】  Python路径拼接规范_跨平台处理说明【指导】  Windows 10怎么把任务栏放在屏幕上方_Windows 10解锁任务栏并拖动位置  PHP cURL GET请求:正确设置请求头与身份认证的完整教程  Windows10系统怎么查看CPU温度_Win10性能监视器查看硬件数据  如何在 ACF 中正确更新嵌套多层的 Group 字段子字段  如何在 Go 后端安全获取并验证前端存储的 JWT?  Win10怎么关闭自动更新错误重启 Win10策略禁止失败补丁强制重启【防护】  Win11怎么修复系统文件_使用sfc命令修复Win11系统【技巧】  Win11任务栏怎么放到顶部_Win11修改任务栏位置方法【详细】  Win11怎么关闭自动更新 Win11永久关闭系统更新的有效方法【技巧】  Drupal 中 HTML 链接被双重转义导致渲染异常的解决方案  Win11怎么查看显卡显存_查询Win11显卡详细参数方法【步骤】  Windows10无法连接到Internet_Win10网络重置命令详解 

 2026-01-03

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

致胜网络推广营销网


致胜网络推广营销网

致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 915688610

 17370845950

 915688610@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.