HTML 的 <table> 元素
1. 引言在网页开发中表格是展示结构化数据最直观的方式之一。无论是商品列表、成绩单、财务报表还是后台管理系统的数据展示table元素都扮演着不可或缺的角色。本文将带你系统学习 HTML 表格的完整知识体系从基础语法到高级技巧帮助你快速掌握并灵活运用。2. 表格的基本结构一个标准的 HTML 表格由table标签包裹内部包含若干行trtable row和单元格。单元格又分为表头单元格thtable header和普通单元格tdtable data。tabletrth姓名/thth年龄/thth城市/th/trtrtd张三/tdtd25/tdtd北京/td/trtrtd李四/tdtd30/tdtd上海/td/tr/table在这个例子中第一行使用th定义表头后续行使用td定义数据单元格。浏览器默认会给表头加粗并居中显示。3. 表格的语义化标签为了让表格结构更清晰、更利于 SEO 和屏幕阅读器解析HTML5 引入了三个语义化标签thead定义表格的表头区域tbody定义表格的主体区域tfoot定义表格的页脚区域tabletheadtrth产品/thth价格/thth库存/th/tr/theadtbodytrtd手机/tdtd¥2999/tdtd120/td/trtrtd耳机/tdtd¥399/tdtd500/td/tr/tbodytfoottrtdcolspan2总计/tdtd620/td/tr/tfoot/table使用这些语义化标签后浏览器可以独立渲染表头和表体在长表格滚动时表头可以固定不动提升用户体验。4. 合并单元格在实际开发中经常需要合并单元格来满足复杂的布局需求。HTML 提供了两个属性colspan横向合并列rowspan纵向合并行tableborder1trth姓名/ththcolspan2联系方式/th/trtrtd王五/tdtd138****1234/tdtdwangwuexample.com/td/trtrtdrowspan2部门/tdtd技术部/tdtd研发一组/td/trtrtd产品部/tdtd设计二组/td/tr/tablecolspan2让「联系方式」表头横跨两列rowspan2让「部门」单元格纵向占据两行。合并单元格时要注意行列数量的平衡避免表格结构错乱。5. 表格常用属性5.1 border 属性border属性用于设置表格边框的宽度tableborder1!-- 表格内容 --/table不过在实际项目中更推荐使用 CSS 来控制边框样式这样更灵活且便于维护。5.2 cellpadding 与 cellspacingcellpadding单元格内边距即内容与边框之间的距离cellspacing单元格之间的间距tableborder1cellpadding10cellspacing5!-- 表格内容 --/table这两个属性在 HTML5 中已不推荐使用建议改用 CSS 的padding和border-spacing属性。5.3 width 与 alignwidth设置表格宽度align控制表格在页面中的对齐方式tablewidth80%aligncenter!-- 表格内容 --/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;}tabletheadtrth姓名/thth分数/th/tr/theadtbodytrtd小明/tdtd95/td/trtrtd小红/tdtd88/td/tr/tbody/tableborder-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;}}tabletheadtrth姓名/thth年龄/th/tr/theadtbodytrtddata-label姓名张三/tdtddata-label年龄25/td/tr/tbody/table通过data-label属性配合 CSS 的:before伪元素在移动端为每个单元格添加标签实现卡片式布局。8. 表格的可访问性为了让屏幕阅读器用户也能正确理解表格内容建议添加以下属性tablecaption2024 年第一季度销售报表/captiontheadtrthscopecol月份/ththscopecol销售额/th/tr/theadtbodytrthscoperow一月/thtd¥120,000/td/tr/tbody/tablecaption为表格提供标题描述scopecol标明该表头对应整列scoperow标明该表头对应整行这些语义化标记能帮助辅助技术正确解读表格结构提升网站的无障碍水平。9. 总结本文系统介绍了 HTMLtable元素的核心知识基本结构table、tr、th、td语义化标签thead、tbody、tfoot单元格合并colspan与rowspan常用属性及 CSS 美化方案响应式表格与可访问性优化掌握这些内容后你就能在项目中灵活运用表格来展示各种结构化数据。建议在实际开发中优先使用 CSS 控制样式并始终关注表格的语义化和可访问性让网页对更多用户友好。

相关新闻

联邦学习实战:VGG19、EfficientNet与ResNet50在分心驾驶检测中的对比

联邦学习实战:VGG19、EfficientNet与ResNet50在分心驾驶检测中的对比

简介:面向计算机相关专业学生与开发者,提供一份基于联邦学习的分心驾驶检测完整实现。项目使用VGG19、efficientnet与Resnet50三种网络对驾驶员状态数据集进行分类,并在联邦学习框架中引入Shapley值贡献评估与激励机制,兼顾模型精…

2026/9/24 18:12:59 阅读更多 →
手撸RTSPClient:协议握手、重连降级与避坑指南

手撸RTSPClient:协议握手、重连降级与避坑指南

简介:这是一份面向嵌入式开发与流媒体协议学习者的轻量级RTSP客户端实现源码包,聚焦于RTSP协议核心交互逻辑的工程化实践,适用于C/C开发者快速掌握流媒体控制层开发要点。资源包含7个文件,以3个头文件(.h)定…

2026/9/24 18:12:59 阅读更多 →
网易云音乐情感分类全流程:从数据集到模型实战

网易云音乐情感分类全流程:从数据集到模型实战

简介:这份资源是面向情感分析、文本挖掘与音乐推荐等方向研究者的网易云音乐情感分类数据集。数据约含39.5万条音乐情感标签记录,每条都包含歌曲ID、歌单ID与歌曲情感标签三个核心字段,可用于构建情感分类模型、开展音乐情绪分析及数据挖掘实…

2026/9/24 18:12:59 阅读更多 →

最新新闻

基于Java开发的小程序地图定位:从后端签名到前端选点完整链路

基于Java开发的小程序地图定位:从后端签名到前端选点完整链路

简介:这是一份面向Java后端开发者与小程序入门者的实战型项目源码,围绕「小程序地图定位」这一常见移动场景,演示如何用Java技术栈配合前端完成位置服务。资源共38个文件,以15张png界面截图与图标、6个js逻辑脚本、5个wxss样式、4…

2026/9/24 18:53:29 阅读更多 →
Windows 部署 OpenClaw 实操记录,避开环境配置各类坑点

Windows 部署 OpenClaw 实操记录,避开环境配置各类坑点

OpenClaw 一体化安装包|可视化部署,简化 AI 自动化环境搭建 传统 AI 自动化工具部署流程繁琐,需要手动配置各类运行环境,对于不熟悉开发的用户门槛很高。OpenClaw 整合全套依赖,提供一体化安装包,通过图形…

2026/9/24 18:53:29 阅读更多 →
IO多路复用精讲:从select/poll到epoll高并发实战TCP回显服务器

IO多路复用精讲:从select/poll到epoll高并发实战TCP回显服务器

做Linux网络编程的人,迟早会碰到IO多路复用这个词。不管是写高并发服务端、嵌入式socket应用,还是准备面试,select、poll、epoll这三个东西都绕不开。作为系列第二篇,我会直接按工程落地的思路来讲:先把这个东西解决的…

2026/9/24 18:53:29 阅读更多 →
Hashcat实战:数据库提权场景下的口令破解与安全审计经验

Hashcat实战:数据库提权场景下的口令破解与安全审计经验

我把自己这几年做授权渗透测试和口令安全审计时用Hashcat的经验完整梳理了一遍。这篇文章不打算写成工具手册式的罗列,而是按真实项目里的思考路径来走:拿到哈希之后怎么判断形态、怎么选攻击方式、怎么设计掩码和规则、遇到瓶颈怎么调、踩过哪些坑。全程…

2026/9/24 18:53:29 阅读更多 →
OpenClaw容器化部署全指南:从Docker环境准备到常见报错排查

OpenClaw容器化部署全指南:从Docker环境准备到常见报错排查

最近身边好几个做AI应用的朋友都在折腾OpenClaw,这项目本质上是个把大模型API、消息渠道、会话管理、记忆存储全部串起来的Agent框架。它对运行环境的依赖相当挑——Python版本、Node版本、系统库版本稍微对不上,启动时就会冒出各种奇怪的报错。我的建议…

2026/9/24 18:53:29 阅读更多 →
测试环境管理实战:用GitLab CI/CD和Docker Engine打造动态测试环境

测试环境管理实战:用GitLab CI/CD和Docker Engine打造动态测试环境

聊到CI/CD优化,很多人第一反应是压缩流水线时间:并行执行、缓存依赖、精简镜像。我做了几年持续交付落地,发现真正拖垮交付效率的,往往不是流水线本身,而是下游那个不起眼的“接收站”——测试环境管理。代码构建从10分…

2026/9/24 18:52:29 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →