【HTML 教程系列第 18 篇】详解什么是 HTML 中的表格 table

827 阅读6分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详情

这是【HTML 教程系列第 18 篇】,如果觉得有用的话,欢迎关注专栏。

一:什么是 HTML 中的表格

定义

在 HTML 中,表格由 <table> 标签来定义,一个表格由若干行(由 <tr> 标签定义),每行又被分割为若干单元格(由 <td> 标签定义)组成。

语法

	<table>
		<tr>
			<td>单元格内的文字</td>
			...
		</tr>
		...
	</table>

在上面的语法中包含三对 HTML 标签,分别为 < table></table><tr></tr><td></td> ,它们是创建表格的基本标签,缺一不可。

其中 <table></table> 表示整个表格的开始和结束,<tr></tr> 表示每行的开始和结束,<td></td> 表示每个单元格的开始和结束。

但一个完整的表格其实包含:table、caption、tr、th、td、thead、tbody、tfoot 这些标签,下面分别介绍每个标签的含义及用法。

1:表格中的行 tr、单元格 td

作用

tr: 用于定义表格中的行,必须嵌套在 table 标签中,在表格中有几组 tr ,就表示有多少行。 td:用于定义表格中的单元格,必须嵌套在 tr 标签中,一组 tr 中包含几对 td,就表示该行有多少个单元格。

其中,tr 是英文 table row(表格行)的缩写,td 是英文 table data(表格单元格数据)的缩写。

举例说明

代码如下所示

	<table>
		<tr>
			<td>第一行第 1 个单元格</td>
			<td>第一行第 2 个单元格</td>
		</tr>
		<tr>
			<td>第二行第 1 个单元格</td>
			<td>第二行第 2 个单元格</td>
		</tr>
	</table>

浏览器运行效果如下所示

在这里插入图片描述

难道这就是表格 ?说好的表格可以更清楚的排列数据呢 ? 这和段落标签有啥区别 ?

不要慌,因为默认情况下,表格是没有边框的,所以为了能够更直观的看到表格,我在 head 标签使用 CSS 加入了边框(后面的例子同理),代码如下所示

<style>table,tr,td {border: 1px solid purple}</style>

如果你不知道这行代码什么意思,没关系,关注一下,后续相关技术我们慢慢来。

加入这行代码后,我们再来看看浏览器的运行效果

在这里插入图片描述

这就是表格,不要在乎它的外观,毕竟 HTML 只关注结构,样式那是 CSS 的事情。

2:表格中的标题 caption

作用

caption:用于定义表格标题,内容居中对齐。

语法

	<table>
		<caption>这里填表格标题</caption>
		<tr>
			<td>第一行第 1 个单元格</td>
			<td>第一行第 2 个单元格</td>
		</tr>
		<tr>
			<td>第二行第 1 个单元格</td>
			<td>第二行第 2 个单元格</td>
		</tr>
	</table>

需要说明的是,caption 标签必须紧随 table 标签之后,并且一个表格只能有一个标题,默认情况下,标题都是位于表格的第一行。

举例说明

代码如下所示

	<table>
		<caption>个人信息统计表</caption>
		<tr>
			<td>姓名</td>
			<td>性别</td>
			<td>联系方式</td>
		</tr>
		<tr>
			<td>苏醒</td>
			<td>男</td>
			<td>18011111111</td>
		</tr>
		<tr>
			<td>王涛</td>
			<td>女</td>
			<td>18077777777</td>
		</tr>
	</table>

浏览器运行效果如下所示

在这里插入图片描述

3:表格中的表头单元格 th

作用

上面说到的 td 标签准确来说叫表行单元格,在 HTML 中,还有一种单元格,那就是表头单元格 ,用 th 标签标示。th 是英文 table header(表头单元格)的缩写。

语法

<table>
		<caption>表格标题</caption>
		<tr>
			<th>表头单元格 1</th>
			<th>表头单元格 2</th>
		</tr>
		<tr>
			<td>表行单元格 1</td>
			<td>表行单元格 2</td>
		</tr>
		<tr>
			<td>表行单元格 3</td>
			<td>表行单元格 4</td>
		</tr>
	</table>

举例说明

这里我仅把上面的 "个人信息统计表" 例子中第一行所有的 td 标签换成 th 标签,代码如下所示

<table>
		<caption>个人信息统计表</caption>
		<tr>
			<th>姓名</th>
			<th>性别</th>
			<th>联系方式</th>
		</tr>
		<tr>
			<td>苏醒</td>
			<td>男</td>
			<td>18011111111</td>
		</tr>
		<tr>
			<td>王涛</td>
			<td>女</td>
			<td>18077777777</td>
		</tr>
	</table>

浏览器运行效果如下所示

在这里插入图片描述

可以看到,th 标签内的文字在浏览器中会以 '居中","粗体" 的效果显示。

下面有一个小问题:td 标签和 th 标签可以互换吗?

这个当然是不可以的,原因有二

  • th 标签内的文字可以居中,并加粗显示,td 标签没有这个效果。
  • 从语义上说,th 标签用于表头,td 标签用于表行。

4:表格中的表头 thead、表身 tbody、表脚 tfoot

作用

在使用表格进行布局时,可以将表格划分为表头 thead、表身 tbody、表脚 tfoot,也分别叫表格的头部、主体和页脚。

使用这三个标签,不仅可以让表格的语义更好,结构更清晰,也可以让我们的代码更具有可读性和可维护性,当然,也方便我们分块来控制表格的 CSS 样式。

语法

<table>
		<caption>表格标题</caption>
		<!--表头-->
		<thead>
			<tr>
				<th>表头单元格 1</th>
				<th>表头单元格 2</th>
			</tr>
		</thead>
		<!--表身-->
		<tbody>
			<tr>
				<td>表行单元格 1</td>
				<td>表行单元格 2</td>
			</tr>
		</tbody>
		<!--表脚-->
		<tfoot>
			<tr>
				<td>表行单元格 3</td>
				<td>表行单元格 4</td>
			</tr>
		</tfoot>
	</table>

举例说明

我们以一份成绩表为例,代码如下所示

<table>
		<caption>高三(15)班成绩表</caption>
		<!--表头-->
		<thead>
			<tr>
				<th>姓名</th>
				<th>语文</th>
				<th>数学</th>
				<th>外语</th>
			</tr>
		</thead>
		<!--表身-->
		<tbody>
			<tr>
				<th>苏醒</th>
				<td>100</td>
				<td>110</td>
				<td>120</td>
			</tr>
			<tr>
				<th>王涛</th>
				<td>100</td>
				<td>110</td>
				<td>120</td>
			</tr>
			<tr>
				<th>韩信</th>
				<td>100</td>
				<td>110</td>
				<td>120</td>
			</tr>
		</tbody>
		<!--表脚-->
		<tfoot>
			<tr>
				<th>平均分</th>
				<td>100</td>
				<td>110</td>
				<td>120</td>
			</tr>
		</tfoot>
	</table>

浏览器运行效果如下所示

在这里插入图片描述

也许你会发现,使用了这三个标签后,好像加了后和没加前的效果没啥区别啊,那为什么还要用这三个标签呢?

从显示效果上来说,加不加的确没区别,但之所以要加,原因就是这三个标签的作用。

5:表格中的行合并 rowspan、列合并 colspan

这部分内容我另外写了一篇博客 HTML 表格中的行合并与列合并

二:表格中的一些常用属性

1:align

作用 设置表格在网页中的水平对齐方式,常用属性值有 left(居左显示),right(居右显示),center(居中显示)。

2:border

作用 设置表格外边框的宽度,宽度以像素为单位,默认为0。

3:cellspacing、cellpadding

作用 cellspacing 设置单元格与单元格的间距。 cellpadding 设置单元格内容与边框的间距。

4:width、height

作用

width 设置表格的宽度,height 设置表格的高度。

上面的属性用一张图来表示的话,效果如下图

在这里插入图片描述

虽然这些属性显示已弃用,但不等于无用,了解一下总会是好的。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。

最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。