0

0

表格怎么制作?table标签的基本结构是什么?

煙雲

煙雲

发布时间:2025-08-13 09:38:01

|

709人浏览过

|

来源于php中文网

原创

制作html表格的核心是使用

标签,并通过、
等标签构建结构;1. 使用定义表格容器;2. 用、、划分表头、表体和表尾以增强语义化;3. 在各区域内使用定义行,
定义表头单元格, 定义数据单元格;4. 通过css设置border-collapse、padding、text-align、背景色、宽度及悬停效果来美化表格;5. 使用colspan和rowspan属性实现单元格的跨列和跨行合并;6. 添加
提供表格标题,使用scope属性提升可访问性;7. 避免用表格进行页面布局,应采用css flexbox或grid。完整掌握这些方法可创建结构清晰、样式美观且无障碍友好的表格。

表格怎么制作?table标签的基本结构是什么?

制作HTML表格,核心就是使用

<table>
标签。它就像一个容器,里面再用
<tr>
(行)、
<th>
(表头单元格)和
<td>
(数据单元格)来搭建具体的结构。说白了,就是搭积木,先定好大框架,再往里一块块填充。

要制作一个表格,最基本的步骤是这样的:

你得先用

<table>
标签把整个表格框起来。这是所有表格内容的老大,它决定了“这里要放个表格”。

接着,表格通常会分几个区:表头、表体,有时候还有表尾。这几个区分别用

<thead>
<tbody>
<tfoot>
来表示。虽然不是强制要求,但从语义化和可维护性来说,强烈建议你用上它们。
<thead>
放表头,
<tbody>
放具体数据,
<tfoot>
放汇总信息什么的。

在这些区里面,每一行都是一个

<tr>
(table row)标签。你想有多少行数据,就写多少个
<tr>

然后,每一行里面,又分两种单元格:

<th>
(table header)是表头单元格,通常用来定义列的标题,比如“姓名”、“年龄”之类的;
<td>
(table data)是普通的数据单元格,用来放具体的内容。一个
<tr>
里有多少个
<th>
<td>
,就决定了这一行有多少列。

举个最简单的例子,一个两行两列的表格可能长这样:

<table>
  <thead>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>张三</td>
      <td>25</td>
    </tr>
    <tr>
      <td>李四</td>
      <td>30</td>
    </tr>
  </tbody>
</table>

你看,结构是不是挺清晰的?先是

<table>
包起来,然后
<thead>
里一行
<th>
做表头,接着
<tbody>
里两行
<td>
做数据。

我的表格怎么那么丑?CSS如何美化表格?

嗯,光用HTML标签搭出来的表格,那真是“清水出芙蓉,天然去雕饰”——说白了就是丑。它可能连边框都没有,文字也挤在一起。美化表格,那绝对是CSS的活儿。以前我们可能会在

<table>
标签里写
border="1"
width="100%"
这些属性,但现在,基本都用CSS了,也更灵活。

要让表格好看点,你可以从几个方面入手:

Python开发网站指南 WORD版
Python开发网站指南 WORD版

本文档主要讲述的是Python开发网站指南;HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器 Python和其他程序语言一样,有自身的一套流程控制语句,而且这些语句的语法和其它程序语言类似,都有for, if ,while 类的关键字来表达程序流程。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

下载
  • 边框合并: 默认情况下,表格的单元格边框是分开的,看起来有点双层边框的感觉。用
    border-collapse: collapse;
    可以把相邻单元格的边框合并成一个,这样表格看起来会更整洁。
  • 内边距:
    padding
    属性给单元格内容和边框之间留点空隙,文字就不会那么憋屈了。比如
    td, th { padding: 8px; }
  • 文字对齐:
    text-align
    可以控制文字在单元格里的水平对齐方式,比如
    left
    center
    right
  • 背景色:
    <thead>
    <tbody>
    或者
    <tr>
    设置不同的
    background-color
    ,可以让表格更有层次感,比如隔行变色,或者表头和数据区颜色不同。
  • 宽度控制:
    width
    属性来控制表格或列的宽度,让表格在页面上占据合适的位置。
  • 鼠标悬停效果:
    <tr>
    添加
    :hover
    伪类,当鼠标移上去时改变背景色,能提升用户体验。

一个简单的CSS美化例子:

table {
  width: 100%;
  border-collapse: collapse; /* 合并边框 */
}

th, td {
  border: 1px solid #ddd; /* 单元格边框 */
  padding: 8px;
  text-align: left; /* 左对齐 */
}

th {
  background-color: #f2f2f2; /* 表头背景色 */
  color: #333;
}

tr:nth-child(even) { /* 隔行变色 */
  background-color: #f9f9f9;
}

tr:hover { /* 鼠标悬停效果 */
  background-color: #ddd;
}

把这段CSS加到你的网页里,表格立马就能焕然一新。

表格里数据太多了怎么办?
colspan
rowspan
是什么意思?

有时候表格结构会比较复杂,比如某个标题要跨越好几列,或者某项数据要占据好几行。这时候,

colspan
rowspan
这两个属性就派上用场了。它们允许你合并单元格,让表格布局更灵活。

  • colspan
    (Column Span): 这个属性是用来合并列的。如果你想让一个单元格横向占据多列的空间,就在
    <th>
    <td>
    标签里加上
    colspan="N"
    ,这里的
    N
    是你希望它跨越的列数。 比如说,一个单元格要占据两列的位置,你就可以写
    colspan="2"
    。用了
    colspan
    的那个单元格,它后面对应的列就要少写一个,不然表格结构就乱了。

    <table>
      <tr>
        <th colspan="2">个人信息</th> <!-- 这个单元格跨两列 -->
      </tr>
      <tr>
        <td>姓名</td>
        <td>张三</td>
      </tr>
    </table>
  • rowspan
    (Row Span): 顾名思义,这个是用来合并行的。如果你想让一个单元格纵向占据多行的空间,就在
    <th>
    <td>
    标签里加上
    rowspan="N"
    ,这里的
    N
    是你希望它跨越的行数。 使用
    rowspan
    时,被它“吃掉”的那些行,在对应位置就不用再写单元格了。

    <table>
      <tr>
        <td rowspan="2">联系方式</td> <!-- 这个单元格跨两行 -->
        <td>电话:123456</td>
      </tr>
      <tr>
        <!-- 这里就不需要再写一个<td>了,因为上面的<td>已经占据了这一行的位置 -->
        <td>邮箱:xxx@example.com</td>
      </tr>
    </table>

这两个属性用起来其实不难,但如果表格结构太复杂,滥用它们可能会让HTML代码变得难以阅读和维护。所以,在设计表格时,最好先想清楚结构,尽量保持简洁。

除了基本的表格,还有没有更高级的用法?比如表格的语义化和可访问性?

当然有。表格不仅仅是用来展示数据的,它也需要考虑到“语义化”和“可访问性”,尤其对于使用屏幕阅读器的用户来说,一个结构良好的表格能大大提升他们的体验。

  • <caption>
    标签: 这是表格的标题,用来描述表格内容的整体概括。它应该放在
    <table>
    标签的紧接着的位置。比如:
    <caption style="caption-side: top;">2023年销售数据</caption>
    caption-side
    属性(CSS)可以控制标题显示在表格上方还是下方。

  • <th>
    scope
    属性:
    当你使用
    <th>
    来定义表头时,可以加上
    scope
    属性,明确这个表头是针对列还是针对行。这对于屏幕阅读器非常有用。

    • scope="col"
      :表示这个
      <th>
      是它所在列的表头。
    • scope="row"
      :表示这个
      <th>
      是它所在行的表头。
    <table>
      <thead>
        <tr>
          <th scope="col">姓名</th>
          <th scope="col">年龄</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th scope="row">张三</th> <!-- 这一行的表头是“张三” -->
          <td>25</td>
        </tr>
      </tbody>
    </table>
  • <thead>
    <tbody>
    <tfoot>
    的语义化:
    前面也提到了,用好这三个标签,不仅仅是为了视觉上的区分,更重要的是它们给表格赋予了明确的语义结构。屏幕阅读器可以根据这些标签,更好地理解表格的哪部分是标题、哪部分是主体、哪部分是汇总。

  • 避免用表格做布局: 这是一个老生常谈的问题了。在CSS出现之前,很多人会用表格来排版整个网页的布局。但现在,那是绝对不推荐的。表格就应该用来展示表格数据,而不是用来做页面布局。用CSS的Flexbox或Grid来做布局,才是现代Web开发的正确姿势。

把这些高级用法考虑进去,你的表格不仅看起来专业,用起来也会更友好,尤其是在无障碍访问方面,能帮助到更多人。毕竟,写代码不光是为了实现功能,更是为了让更多人能顺畅地使用。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
css中的padding属性作用
css中的padding属性作用

在CSS中,padding属性用于设置元素的内边距。想了解更多padding的相关内容,可以阅读本专题下面的文章。

175

2023.12.07

html边框设置教程
html边框设置教程

本教程将带你全面掌握HTML/CSS边框设置,从基础的border属性讲起,涵盖所有边框样式、圆角设置及高级技巧,帮助你快速上手实现各种边框效果。

42

2025.09.02

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

2

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

21

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

108

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

51

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

89

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

27

2026.03.03

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

79

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.5万人学习

CSS教程
CSS教程

共754课时 | 40.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号