HTML table 标签用于以表格形式(行*列)显示数据。一行中可以有很多列。
在 <tr> 、 <td> 和 <th> 元素的帮助下,我们可以使用 <table> 元素创建一个表格来以表格形式显示数据。
在每个表中,表行由<tr> 标签定义,表头由<th> 定义,表数据由<td> 标签定义。
HTML 表格用于管理页面布局,例如页眉部分、导航栏、正文内容、页脚部分等。但建议使用表格上的 div 标签来管理页面布局。
| 标签 | 描述 |
|---|---|
| <table> | 它定义了一个表。 |
| <tr> | 它定义了表中的一行。 |
| <th> | 它定义了表格中的标题单元格。 |
| <td> | 它定义了表格中的一个单元格。 |
| <caption> | 它定义了表格标题。 |
| <colgroup> | 它指定表格中的一组一个或多个列以进行格式化。 |
| <col> | 它与 <colgroup> 元素一起使用以指定每列的列属性。 |
| <tbody> | 它用于对表格中的正文内容进行分组。 |
| <thead> | 它用于对表中的标题内容进行分组。 |
| <tfooter> | 它用于对表格中的页脚内容进行分组。 |
让我们看看 HTML 表格标签的例子。它的输出如上所示。
<table> <tr><th>名</th><th>姓</th><th>分数</th></tr> <tr><td>三</td><td>张</td><td>60</td></tr> <tr><td>四</td><td>李</td><td>80</td></tr> <tr><td>五</td><td>王</td><td>82</td></tr> <tr><td>六</td><td>赵</td><td>72</td></tr> </table>
输出:

在上面的 html 表中,有 5 行 3 列 = 5 * 3 = 15 个值。
有两种方法可以为 HTML 表格指定边框。
通过 HTML 中表格的边框属性
通过 CSS 中的边框属性
你可以在 HTML 中使用 table 标签的 border 属性来指定边框。但是现在不推荐。
<table border="1"> <tr><th>名</th><th>姓</th><th>分数</th></tr> <tr><td>三</td><td>张</td><td>60</td></tr> <tr><td>四</td><td>李</td><td>80</td></tr> <tr><td>五</td><td>王</td><td>82</td></tr> <tr><td>六</td><td>赵</td><td>72</td></tr> </table>
输出:

现在推荐使用 CSS 的 border 属性来指定表格中的边框。
您可以通过 border-collapse 属性折叠一个边框中的所有边框。它会将边框折叠成一个。
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
</style>输出:

您可以通过两种方式为表头和表数据指定填充:
通过 HTML 中表格的 cellpadding 属性
通过 CSS 中的 padding 属性
HTML table 标签的 cellpadding 属性现在已过时。推荐使用CSS。那么让我们看看CSS的代码。
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 10px;
}
</style>输出:

我们可以使用CSS width属性指定 HTML 表格宽度。它可以以像素或百分比指定。
我们可以根据我们的要求调整我们的表格宽度。以下是显示具有宽度的表格的示例。
table{
width: 100%;
}<!DOCTYPE html>
<html>
<head>
<title>table</title>
<style>
table{
border-collapse: collapse;
width: 100%;
}
th,td{
border: 2px solid green;
padding: 15px;
}
</style>
</head>
<body>
<table>
<tr>
<th>1个标题</th>
<th>1个标题</th>
<th>1个标题</th>
</tr>
<tr>
<td>1个数据</td>
<td>1个数据</td>
<td>1 数据</td>
</tr>
<tr>
<td>2 数据</td>
<td>2 数据</td>
<td>2 数据</td>
</tr>
<tr>
<td>3 数据</td>
<td>3 数据</td>
<td>3 数据</td>
</tr>
</table>
</body>
</html>输出:

如果你想让一个单元格跨越多列,你可以使用 colspan 属性。
它将一个单元格/行分成多列,列数取决于 colspan 属性的值。
让我们看看跨越两列的示例。
CSS代码:
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 5px;
}
</style>HTML代码:
<table style="width:100%"> <tr> <th>名称</th> <th colspan="2">手机号码</th> </tr> <tr> <td>张三</td> <td>13888888888</td> <td>089888888888</td> </tr> </table>
输出:

如果你想让一个单元格跨越多行,你可以使用 rowspan 属性。
它将一个单元格分成多行。划分的行数将取决于 rowspan 值。
让我们看看跨越两行的示例。
CSS代码:
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 10px;
}
</style>HTML代码:
<table> <tr> <th>名称</th> <th colspan="2">手机号码</th> </tr> <tr> <td>张三</td> <td>13888888888</td> <td>089888888888</td> </tr> </table>
输出:

HTML 标题显示在表格上方。它只能在 table 标记之后使用。
<table> <caption>学生记录</caption> <tr><th>名</th><th>姓</th><th>分数</th></tr> <tr><td>三</td><td>张</td><td>70</td></tr> <tr><td>四</td><td>李</td><td>60</td></tr> <tr><td>五</td><td>王</td><td>42</td></tr> <tr><td>六</td><td>赵</td><td>62</td></tr> </table>
CSS代码:
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 10px;
}
table#alter tr:nth-child(even) {
background-color: #eee;
}
table#alter tr:nth-child(odd) {
background-color: #fff;
}
table#alter th {
color: white;
background-color: gray;
}
</style>输出:

| 元素 | Chrome | IE | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| <table> | Yes | Yes | Yes | Yes | Yes |