新闻中心

CSS伪类:first-of-type如何选择首个类型元素_使用:first-of-type调整首个元素样式

2025-11-27
浏览次数:
返回列表
:first-of-type选择同类型子元素中的第一个,如p:first-of-type选中首个p元素,即使前面有其他标签;与:first-child不同,后者要求必须是父元素的第一个子节点。

css伪类:first-of-type如何选择首个类型元素_使用:first-of-type调整首个元素样式

:first-of-type 是 CSS 中的一个结构伪类,用于选择父元素中具有相同标签类型的第一个子元素。它不关心该元素在父容器中的总顺序,只关注其元素类型(即标签名)是否是同类型中的第一个。

理解 :first-of-type 的选择逻辑

假设你有一段 HTML 内容如下:


  

这是第一个段落


  一个 span 元素
  

这是第二个段落


  

这是第三个段落


如果你使用以下 CSS:

p:first-of-type {
  color: red;
}

那么第一个

元素

会被选中并变成红色文字。尽管它是父元素中的第一个子元素,但真正起作用的是它是所有 p 标签中的第一个

即使前面有其他类型的元素,只要它是该类型中最早出现的,就会被匹配。例如:


  开头的 span
  

第一个段落


  

第二个段落

Pinokio Pinokio

Pinokio是一款开源的AI浏览器,可以安装运行各种AI模型和应用

Pinokio 232 查看详情 Pinokio

上面这段代码中,p:first-of-type 依然能选中第一个

,因为它是在所有 p 元素中排第一的,即使它不是 div 的第一个子元素。

与 :first-child 的区别

很多人容易混淆 :first-of-type:first-child。它们的关键区别在于:

  • :first-child 要求元素必须是父元素的第一个子元素,不管类型
  • :first-of-type 只要求是某一类型中的第一个,不要求整体位置

继续以上面的例子说明:

div > p:first-child { color: blue; }

这个规则不会生效,因为 p 不是 div 的第一个子元素(span 才是)。而用 :first-of-type 就可以成功选中。

实际应用场景

:first-of-type 在以下场景中非常实用:

  • 为文章中第一个段落设置首行缩进或加大字号
  • 在列表中忽略标题或图片,仅对第一个同类内容元素加样式
  • 处理动态内容时,避免依赖固定结构

比如你想让一篇文章中第一个段落字体更大:

article p:first-of-type {
  font-size: 1.2em;
  font-weight: bold;
}

这样无论前面有没有 h1、img 或其它标签,只要是第一个 p,就能被正确选中。

注意事项与兼容性

使用 :first-of-type 时需注意几点:

  • 它基于元素类型,所以 div:first-of-type 会选择第一个 div 类型的子元素
  • 不支持 IE8 及更早版本,现代浏览器均支持良好
  • 可与其他选择器组合,如 .class:first-of-type 或 p:nth-of-type(1)(功能类似)

基本上就这些。掌握 :first-of-type 能让你更灵活地控制文档中特定类型首个元素的样式,而不必依赖额外的 class 或 JS 操作。

以上就是CSS伪类:first-of-type如何选择首个类型元素_使用:first-of-type调整首个元素样式的详细内容,更多请关注其它相关文章!


# 选择器  # 网络营销推广效果改进  # 兴庆区网站建设制作中心  # 品牌网站优化加盟排名  # 固原模板网站建设  # 成都网站建设和优化服务  # 苏州本地网站建设  # 网站优化推广的收录情况  # 专业的网站建设惠州  # 无锡厚桥网站优化排名  # 绥化国外网站建设平台  # 的是  # 如何实现  # 中非  # css伪类  # 第二个  # 如何选择  # 它是  # 这是  # 首个  # 第一个  # red  # 区别  # 浏览器  # js  # html  # css 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化  J*a中实现Go语言select通道多路复用机制  vivo浏览器怎么扫描二维码 vivo浏览器内置扫一扫功能使用方法  抖音网页版平台入口 抖音网页版官网在线访问教程  J*aScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程  QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口  实现全屏滚动与导航点:专业教程  包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  C++如何生成随机数_C++ random库使用方法与范围设置  腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址  抖音未来赚钱的新趋势 2025年值得关注的变现风口分析  品牌机怎么重装系统 联想/戴尔/惠普笔记本恢复出厂系统教程  MAC的“快捷指令”怎么同步到iPhone_MAC利用iCloud同步所有设备的自动化指令  c++项目目录结构应该如何组织_c++工程化项目结构规范  照顾宝贝2小游戏点击立即在线玩  漫蛙漫画登录站点 漫蛙2正版漫画快速访问  J*aScript中赋值与自增运算符的复杂交互与执行机制  不同用户不同价格! 索尼开启账户个性化定价测试  J*aScript map 迭代中检测空数组元素的有效方法  如何在更新Composer依赖后自动运行测试_使用post-update-cmd钩子触发PHPUnit  Lar*el DB::listen 事件中的查询执行时间单位解析  拼多多赚钱渠道_拼多多收益来源  如何在Python中使用Optional类型处理可变对象并避免Pylint警告  俄罗斯浏览器官网直达链接 俄罗斯浏览器最新在线入口导航  PHP 枚举:根据字符串获取枚举案例的策略与实现  mcjs网页版流畅运行 mcjs低配电脑畅玩入口  如何修改开机登录密码_Windows账户安全设置超详细教程【必学】  PDO预处理语句中冒号的正确处理:区分SQL函数格式与命名占位符  微博网页版官方账号登录 微博网页版内容浏览使用指南  html网页设计源代码怎么运行_运行html网页设计源代码步骤【指南】  一加Ace 6T实拍样张首次公布!李杰:主摄实力完全看齐4K档性能旗舰  QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问  Golang如何使用buffered channel提高性能_Golang buffered channel优化技巧  html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】  PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符  Win11怎么查看电脑配置_Win11硬件配置检测工具使用  MongoDB聚合管道:正确匹配对象数组中_id的方法  Golang并发任务中错误如何聚合_Golang goroutine error收集方式  自定义Bag-of-Words实现:处理带负号的词汇权重  微信客户端如何收红包_微信客户端接收红包使用教程  2025年云电脑操作系统体验 | 无需本地硬件,随时随地使用高性能PC  优酷会员付费后没到账怎么办_优酷会员充值异常及解决方法  苹果手机如何防止被恶意App追踪  台积电1.4nm工艺A14瞄准2028:10年来性能提升80%  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  必由学官网首页入口 必由学教师网页版登录指南  c++如何实现单例设计模式_c++线程安全的单例模式写法  抖音极速版最新版本 抖音极速版官方下载地址  《刺客信条:影》PS5 Pro和Switch 2画面对比  PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程 

搜索