HTML 的 <th> 元素

1. 什么是 元素

<th>(Table Header Cell,表头单元格)是 HTML 表格中用于定义表头单元格的元素。它通常出现在表格的第一行或第一列,用于描述该列或该行数据的含义。

与普通单元格 <td> 不同,<th> 中的文本默认会加粗并居中显示,让读者一眼就能识别出表头信息。

html 复制代码
<table>
  <tr>
    <th>姓名</th>
    <th>年龄</th>
    <th>城市</th>
  </tr>
  <tr>
    <td>张三</td>
    <td>25</td>
    <td>北京</td>
  </tr>
</table>

2. 与 的区别

对比项
含义 表头单元格(描述数据) 数据单元格(存放数据)
默认样式 加粗、居中 常规、左对齐
语义 表示标题/标签 表示具体数值或内容
无障碍支持 可关联 scope 属性 无 scope 属性

3. 的常用属性

3.1 scope 属性

scope 属性用于明确表头的作用范围,对屏幕阅读器非常友好:

  • scope="col":表头作用于整列
  • scope="row":表头作用于整行
  • scope="colgroup":表头作用于一组列
  • scope="rowgroup":表头作用于一组行
html 复制代码
<table>
  <tr>
    <th scope="col">产品</th>
    <th scope="col">价格</th>
  </tr>
  <tr>
    <th scope="row">键盘</th>
    <td>¥199</td>
  </tr>
</table>

3.2 colspan 与 rowspan

表头单元格同样支持跨列和跨行:

html 复制代码
<table>
  <tr>
    <th colspan="2">个人信息</th>
  </tr>
  <tr>
    <th>姓名</th>
    <th>年龄</th>
  </tr>
</table>

4. 自定义表头样式

虽然浏览器默认给 <th> 加粗居中,但实际开发中我们通常会用 CSS 自定义样式:

css 复制代码
th {
  background-color: #f2f2f2;
  color: #333;
  padding: 10px 15px;
  text-align: left;
  border-bottom: 2px solid #ddd;
}

5. 无障碍最佳实践

  • 始终为 <th> 添加 scope 属性,帮助读屏软件正确朗读表格结构。
  • 使用 <caption> 为表格添加标题说明。
  • 避免使用 <th> 仅为了视觉加粗效果,应使用 CSS 实现。
html 复制代码
<table>
  <caption>2024 年季度销售统计</caption>
  <tr>
    <th scope="col">季度</th>
    <th scope="col">销售额</th>
  </tr>
  <tr>
    <th scope="row">Q1</th>
    <td>¥120 万</td>
  </tr>
</table>

6. 总结

<th> 是 HTML 表格中不可或缺的表头元素,它不仅是视觉上的标题,更承担着语义化与无障碍访问的重要职责。合理使用 scope、colspan 等属性,配合 CSS 自定义样式,能让你的表格既美观又易读。

相关推荐
miss27 分钟前
AI 改完不敢上线?OpenSpec 规约驱动开发实战
前端·代码规范·前端工程化
AiMan1 小时前
腾讯ima还是不可以导出左侧所有对话,只能单条导出,方法不对吗
前端
去伪存真1 小时前
并发量一高就装死?Agent 全链路“防猝死”手册
前端·agent
Moment1 小时前
AI 编程时代,聊聊我的 Mac mini 双屏桌面
前端·后端
AiMan1 小时前
先确认能不能一次把Microsofat Copilot所有内容打包一个文件导出
前端
总要学点什么1 小时前
第97篇:三维数据加载-城市建筑白模自定义着色器——让一条光带沿高度扫上去,快慢却由帧率说了算
前端·gis·webgl·cesium·着色器·空间分析·白模
上海懒图科技2 小时前
工厂厂区电子地图定位导航:厂区人车精准定位,安全合规双保障
前端·arcgis·vue
西安小哥2 小时前
端侧跑大模型,真正的门槛不在参数量:一次 596 秒到 10 秒的压缩路径复盘
前端·人工智能
陈随易3 小时前
Cloudflare 出钱,Vite 团队挑人,44 个维护者分 30 万美元
前端·后端·程序员
恋猫de小郭3 小时前
Flutter THLC 的 WebView 滚动终于从 70 FPS 提升到 120 FPS
android·前端·flutter