本章主要探讨 HTML5 中表格元素的用法。表格的主要用途是以网格的形式显示二维数据。
一.表格元素总汇
表格的基本构成最少需要三个元素:table、tr、td,其他的一些作为可选辅助存在。
| 元素名称 | 说明 |
| table | 表示表格 |
| thead | 表示标题行 |
| tbody | 表示表格主体 |
| tfoot | 表示表脚 |
| tr | 表示一行单元格 |
| th | 表示标题行单元格 |
| td | 表示单元格 |
| col | 表示一列 |
| colgrou | 表示一组列 |
| caption | 表示表格标题 |
二.构建表格解析
1.table、tr、td构建基础表格
<table border="1"> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </table>
解释:<table>元素表示一个表格的声明,<tr>元素表示表格的一行,<td>元素表示一个单元格。默认情况下表格是没有边框的,所以,在<table>元素增加一个 border 属性,设置为 1 即可显示边框。
2.<th>为表格添加标题单元格
<table border="1" style="width:300px;"> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </table>
解释:<th>元素主要是添加标题行的单元格,实际作用就是将内部文字居中且加粗。这里使用了一个通用属性 style,主要用于 CSS 样式设置,以后会涉及到。<th><td>均属于单元格,包含两个合并属性:colspan、rowspan 等。
3.<thead>添加表头
<thead> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> </thead>
解释:<thead>元素就是限制和规范了表格的表头部分。尤其是以后动态生成表头,它的位置是不固定的,使用此元素可以限定在开头位置。
4.<tfoot>添加表脚
<tfoot> <tr> <td colspan="3">统计:共两名</td> </tr> </tfoot>
解释:<tfoot>元素为表格生成表脚,限制在表格的底部。
5.<tbody>添加表主体
<tbody> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </tbody>
解释:<tbody>元素主要是包含住非表头表脚的主体部分,有助于表格格式的清晰,更加有助于后续 CSS 和 JavaScript 的控制。
6.<caption>添加表格标题
<caption>这是一个人物表</caption>
解释:<caption>元素给表格添加一个标题。
7.<colgroup>设置列
<colgroup span="2" style="background:red;">
解释:<colgroup>元素是为了处理某个列,span 属性定义处理哪些列。1 表示第一列, 2 表示前两列。如果要单独设置第二列,那么需要声明两个,先处理第一个,将列点移入第二位,再处理第二个即可。
8.<col>更灵活的设置列
<colgroup> <col> <col style="background:red;" span="1"> </colgroup>
解释:<col>元素表示单独一列,一个表示一列,控制更加灵活。如果设置了 span 则,控制多列。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5表格元素</title>
<style type="text/css">
*{padding: 0; margin: 0;}
ul,li{ }
a{ text-decoration: none; color:#000;}
body{font-family: '微软雅黑'; }
dl{width:100%; height: auto; padding: 20px 0; border-bottom: 1px solid #ccc;}
dl dt{ padding-bottom: 5px; color: red;}
dl dd{ padding-bottom: 5px; }
</style>
</head>
<body>
<dl>
<dt>table、tr、td构建基础表格</dt>
<dd>
<table border="1">
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</table>
</dd>
<dd>解释:"table"元素表示一个表格的声明,"tr"元素表示表格的一行,"td"元素表示一个单元格。默认情况下表格是没有边框的,所以,在"table"元素增加一个 border 属性,设置为 1 即可显示边框。</dd>
</dl>
<dl>
<dt>th 为表格添加标题单元格</dt>
<dd>
<table border="1" style="width:100%;">
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</table>
</dd>
<dd>解释:th元素主要是添加标题行的单元格,实际作用就是将内部文字居中且加粗。这里使用了一个通用属性 style,主要用于 CSS 样式设置,以后会涉及到。th td均属于单元格,包含两个合并属性:colspan、rowspan 等。</dd>
</dl>
<dl>
<dt>thead 添加表头</dt>
<dd>
<table border="1" style="width:100%;">
<thead>
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
</thead>
</table>
</dd>
<dd>解释:thead元素就是限制和规范了表格的表头部分。尤其是以后动态生成表头,它的位置是不固定的,使用此元素可以限定在开头位置。</dd>
</dl>
<dl>
<dt>tfoot 添加表脚</dt>
<dd>
<table border="1" style="width:100%;">
<tfoot>
<tr>
<td colspan="3">统计:共两名</td>
</tr>
</tfoot>
</table>
</dd>
<dd>解释:tfoot元素为表格生成表脚,限制在表格的底部。</dd>
</dl>
<dl>
<dt>tbody 添加表主体</dt>
<dd>
<table border="1" style="width:100%;">
<tbody>
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</tbody>
</table>
</dd>
<dd>解释:tbody元素主要是包含住非表头表脚的主体部分,有助于表格格式的清晰,更加有助于后续 CSS 和 JavaScript 的控制。</dd>
</dl>
<dl>
<dt>caption 添加表格标题</dt>
<dd>
<table border="1" style="width:100%;">
<caption>这是一个人物表</caption>
<tbody>
<tr><td>张三</td><td>男</td><td>未婚</td></tr>
<tr><td>李四</td><td>女</td><td>已婚</td></tr>
</tbody>
</table>
</dd>
<dd>解释:<caption>元素给表格添加一个标题。</dd>
</dl>
<dl>
<dt>colgroup 设置列</dt>
<dd>
<table border="1" style="width:300px;">
<colgroup style="background:green;" span="1"></colgroup>
<colgroup style="background:red;" span="1"></colgroup>
<tr><th>姓名</th><th>性别</th><th>婚否</th></tr>
<tr><td>张三</td><td>男</td><td>未婚</td></tr>
<tr><td>李四</td><td>女</td><td>已婚</td></tr>
</table>
</dd>
<dd>解释:colgroup元素是为了处理某个列,span 属性定义处理哪些列。1 表示第一列, 2 表示前两列。如果要单独设置第二列,那么需要声明两个,先处理第一个,将列点移入第二位,再处理第二个即可。</dd>
</dl>
<dl>
<dt>colspan rowspan 更灵活的设置行列</dt>
<dd>
<table border="1" style="width:300px;">
<tr><th rowspan="4">基本情况</th><th>姓名</th><th>性别</th><th>婚否</th></tr>
<tr><td>张三</td><td>男</td><td>未婚</td></tr>
<tr><td>李四</td><td>女</td><td>已婚</td></tr>
<tr><td colspan="3">统计:共两人</td></tr>
</table>
</dd>
</dl>
</body>
</html>
学博星辰


