news 2026/9/24 18:12:48

HTML 的 <table> 元素

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HTML 的 <table> 元素

1. 引言

在网页开发中,表格是展示结构化数据最直观的方式之一。无论是商品列表、成绩单、财务报表,还是后台管理系统的数据展示,<table>元素都扮演着不可或缺的角色。本文将带你系统学习 HTML 表格的完整知识体系,从基础语法到高级技巧,帮助你快速掌握并灵活运用。

2. 表格的基本结构

一个标准的 HTML 表格由<table>标签包裹,内部包含若干行<tr>(table row)和单元格。单元格又分为表头单元格<th>(table header)和普通单元格<td>(table data)。

<table><tr><th>姓名</th><th>年龄</th><th>城市</th></tr><tr><td>张三</td><td>25</td><td>北京</td></tr><tr><td>李四</td><td>30</td><td>上海</td></tr></table>

在这个例子中,第一行使用<th>定义表头,后续行使用<td>定义数据单元格。浏览器默认会给表头加粗并居中显示。

3. 表格的语义化标签

为了让表格结构更清晰、更利于 SEO 和屏幕阅读器解析,HTML5 引入了三个语义化标签:

  • <thead>:定义表格的表头区域
  • <tbody>:定义表格的主体区域
  • <tfoot>:定义表格的页脚区域
<table><thead><tr><th>产品</th><th>价格</th><th>库存</th></tr></thead><tbody><tr><td>手机</td><td>¥2999</td><td>120</td></tr><tr><td>耳机</td><td>¥399</td><td>500</td></tr></tbody><tfoot><tr><tdcolspan="2">总计</td><td>620</td></tr></tfoot></table>

使用这些语义化标签后,浏览器可以独立渲染表头和表体,在长表格滚动时表头可以固定不动,提升用户体验。

4. 合并单元格

在实际开发中,经常需要合并单元格来满足复杂的布局需求。HTML 提供了两个属性:

  • colspan:横向合并列
  • rowspan:纵向合并行
<tableborder="1"><tr><th>姓名</th><thcolspan="2">联系方式</th></tr><tr><td>王五</td><td>138****1234</td><td>wangwu@example.com</td></tr><tr><tdrowspan="2">部门</td><td>技术部</td><td>研发一组</td></tr><tr><td>产品部</td><td>设计二组</td></tr></table>

colspan="2"让「联系方式」表头横跨两列,rowspan="2"让「部门」单元格纵向占据两行。合并单元格时要注意行列数量的平衡,避免表格结构错乱。

5. 表格常用属性

5.1 border 属性

border属性用于设置表格边框的宽度:

<tableborder="1"><!-- 表格内容 --></table>

不过在实际项目中,更推荐使用 CSS 来控制边框样式,这样更灵活且便于维护。

5.2 cellpadding 与 cellspacing

  • cellpadding:单元格内边距,即内容与边框之间的距离
  • cellspacing:单元格之间的间距
<tableborder="1"cellpadding="10"cellspacing="5"><!-- 表格内容 --></table>

这两个属性在 HTML5 中已不推荐使用,建议改用 CSS 的paddingborder-spacing属性。

5.3 width 与 align

width设置表格宽度,align控制表格在页面中的对齐方式:

<tablewidth="80%"align="center"><!-- 表格内容 --></table>

同样,这些属性也建议用 CSS 替代,例如width: 80%; margin: 0 auto;

6. 表格的 CSS 美化

现代开发中,表格的样式几乎全部由 CSS 控制。下面是一个常见的表格美化示例:

table{width:100%;border-collapse:collapse;font-family:Arial,sans-serif;}th, td{padding:12px 15px;text-align:left;border-bottom:1px solid #ddd;}th{background-color:#4CAF50;color:white;}tr:hover{background-color:#f5f5f5;}
<table><thead><tr><th>姓名</th><th>分数</th></tr></thead><tbody><tr><td>小明</td><td>95</td></tr><tr><td>小红</td><td>88</td></tr></tbody></table>

border-collapse: collapse可以合并相邻单元格的边框,让表格看起来更简洁。:hover伪类可以实现鼠标悬停高亮效果,提升交互体验。

7. 响应式表格

在移动端,宽表格往往会导致页面横向滚动,影响阅读体验。常见的解决方案是使用 CSS 让表格在小屏幕上以卡片形式展示:

@media(max-width:600px){table, thead, tbody, th, td, tr{display:block;}thead tr{position:absolute;top:-9999px;left:-9999px;}tr{margin-bottom:15px;border:1px solid #ccc;}td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%;}td:before{position:absolute;left:6px;content:attr(data-label);font-weight:bold;}}
<table><thead><tr><th>姓名</th><th>年龄</th></tr></thead><tbody><tr><tddata-label="姓名">张三</td><tddata-label="年龄">25</td></tr></tbody></table>

通过data-label属性配合 CSS 的:before伪元素,在移动端为每个单元格添加标签,实现卡片式布局。

8. 表格的可访问性

为了让屏幕阅读器用户也能正确理解表格内容,建议添加以下属性:

<table><caption>2024 年第一季度销售报表</caption><thead><tr><thscope="col">月份</th><thscope="col">销售额</th></tr></thead><tbody><tr><thscope="row">一月</th><td>¥120,000</td></tr></tbody></table>
  • <caption>:为表格提供标题描述
  • scope="col":标明该表头对应整列
  • scope="row":标明该表头对应整行

这些语义化标记能帮助辅助技术正确解读表格结构,提升网站的无障碍水平。

9. 总结

本文系统介绍了 HTML<table>元素的核心知识:

  • 基本结构:<table><tr><th><td>
  • 语义化标签:<thead><tbody><tfoot>
  • 单元格合并:colspanrowspan
  • 常用属性及 CSS 美化方案
  • 响应式表格与可访问性优化

掌握这些内容后,你就能在项目中灵活运用表格来展示各种结构化数据。建议在实际开发中优先使用 CSS 控制样式,并始终关注表格的语义化和可访问性,让网页对更多用户友好。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 18:12:02

基于Python与OpenCV的人脸识别门禁系统开发实战

简介&#xff1a;这是一套基于Python的人脸识别智能小区门禁管理系统源码&#xff0c;面向Python学习者、计算机专业学生及安防系统开发者&#xff0c;用于解决小区出入身份验证与门禁自动化管理问题。资源包共101个文件&#xff0c;大小约12.17MB&#xff0c;文件类型涵盖.py源…

作者头像 李华
网站建设 2026/9/24 18:11:48

粒子群优化MPPT光伏仿真:MATLAB/Simulink模型详解与调试指南

简介&#xff1a;一份基于粒子群优化的MPPT控制MATLAB仿真资源&#xff0c;面向光伏发电、可再生能源方向的学生与工程师&#xff0c;用于解决光照、温度波动下太阳能电池最大功率点跟踪难题&#xff0c;适合入门到进阶学习。压缩包共4个文件&#xff0c;包括2个Simulink模型&a…

作者头像 李华
网站建设 2026/9/24 18:11:09

文字点选验证码识别实战:基于YOLOv5与OCR的Python课设指南

简介&#xff1a;这是一份面向Python课程设计或验证码识别入门者的完整项目资源&#xff0c;专注解决文字点选、选字类验证码的自动识别问题。项目在仅300张样本的小样本训练下达到96%准确率&#xff0c;单次识别耗时约100~300ms&#xff0c;且经过Windows平台Python3.6/3.8/3.…

作者头像 李华
网站建设 2026/9/24 18:11:00

JSP+Access手机销售系统实战:环境搭建、分页优化与迁移MySQL

简介&#xff1a;这份资源是面向Java Web初学者与课程设计学习者的完整项目资料包&#xff0c;围绕基于JSP与Access数据库的手机销售系统展开&#xff0c;可用于毕业设计参考、课程实践或自学练手。压缩包共2.26MB&#xff0c;内含项目报告、详细设计说明书、需求说明书、数据库…

作者头像 李华
网站建设 2026/9/24 18:09:46

JavaEE二手图书交易平台实战:Spring+MyBatis从零搭建与避坑指南

简介&#xff1a;这是一套面向高校计算机相关专业学生的JavaEE课程设计完整项目&#xff0c;以二手图书交易平台为主题&#xff0c;适合作为期末大作业、课程设计或毕业设计参考。项目采用Java语言开发&#xff0c;功能覆盖用户注册登录、图书发布、分类浏览、订单管理等核心业…

作者头像 李华
网站建设 2026/9/24 18:08:46

YOLOv8行人检测实战:环境搭建、数据转换、训练调参与ONNX部署

简介&#xff1a;基于YOLOv8的行人检测项目&#xff0c;专为计算机科学、人工智能、通信工程、自动化等专业的课程设计、毕业设计及项目初期演示而准备&#xff0c;也适合有一定基础的学习者进阶。项目包含训练模式与视频检测两个Python脚本&#xff0c;配套yolov8n.pt、yolo11…

作者头像 李华