学习要点:
1.表格元素总汇
2.构建表格解析
一.表格元素总汇
表格的基本构成最少需要三个元素:<table>、<tr>、<td>,其他的一些作为可选辅 助存在。
元素名称 说明
table 表示表格
thead 表示标题行
tbody 表示表格主体
tfoot 表示表脚
tr 表示一行单元格
th 表示标题行单元格
td 表示单元格
col 表示一列
colgroup 表示一组列
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"> <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>
效果:
加style
没有加style
姓名 | 性别 | 婚姻 |
---|---|---|
张三 | 男 | 未婚 |
李四 | 女 | 已婚 |
解释:<th>元素主要是添加标题行的单元格,实际作用就是将内部文字居中且加粗,这里使用了一个通用属性style,主要用于CSS样式设置,以后会涉及到。<th><td>均属于单元格,包含两个合并属性:colspan横向合并、rowspan纵向合并等。
colspan横向合并单元格,也就是向左合并
<table border="1"> <tr> <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> <!--注意这个colspan横向合并3,表示合并共站表格数--> </tr> </table>
效果:
姓名 | 性别 | 婚姻 |
---|---|---|
张三 | 男 | 未婚 |
李四 | 女 | 已婚 |
共计 |
rowspan纵向合并,也就是向下合并
<table border="1" style="300px;"> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> <tr> <td>李四</td> <td rowspan="2">女</td> <!--注意这个rowspan纵向合并2,表示合并共站表格数--> <td rowspan="2">已婚</td> </tr> <tr> <td>共计</td> </tr> </table>
效果:
姓名 | 性别 | 婚姻 |
---|---|---|
张三 | 男 | 未婚 |
李四 | 女 | 已婚 |
共计 |
注意:合并只能操作单元格,<th><td>均属于单元格
3.<thead>添加表头
<table border="1" style="300px;"> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部--> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> </thead> <!--添加表头结束--> </table>
效果:
姓名 | 性别 | 婚姻 |
---|---|---|
张三 | 男 | 未婚 |
李四 | 女 | 已婚 |
解释:<thead>元素就是限制和规范了表格的表头部分。尤其是以后动态生成表头,它的位置是不固定的,使用此元素可以限定在开头位置。
4.<tfoot>添加表脚
<table border="1"> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部--> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </tfoot> <!--添加表尾结束--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部--> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> </thead> <!--添加表头结束--> </table>
效果:
姓名 | 性别 | 婚姻 |
---|---|---|
张三 | 男 | 未婚 |
李四 | 女 | 已婚 |
解释:<tfoot>元素为表格生成表脚,限制在表格的底部。
5.<tbody>添加表主体
<table border="1"> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部--> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> </tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部--> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </tfoot> <!--添加表尾结束--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部--> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> </thead> <!--添加表头结束--> </table>
解释:<tbody>元素主要是包含住非表头表脚的主体部分,有助于表格格式的清晰,更加有助于后续CSS JavaScript的控制。
表单头、主体、尾部正确格式化
<table border="1" style="300px;"> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部--> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> </thead> <!--添加表头结束--> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部--> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> </tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部--> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </tfoot> <!--添加表尾结束--> </table>
6.<caption>添加表格标题
<table border="1" style="300px;"> <caption>这是一个人物表</caption> <!--添加表格标题--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部--> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> </thead> <!--添加表头结束--> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部--> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> </tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部--> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </tfoot> <!--添加表尾结束--> </table>
效果:
姓名 | 性别 | 婚姻 |
---|---|---|
张三 | 男 | 未婚 |
李四 | 女 | 已婚 |
解释:<caption>元素给表格添加一个标题。
7.<colgroup>设置列
<table border="1" style="300px;"> <caption>这是一个人物表</caption> <!--添加表格标题--> <colgroup span="1" style="background:red;"></colgroup> <!--设置列--> <colgroup span="1" style="background:#2B2B2B;"></colgroup> <!--设置列--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部--> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> </thead> <!--添加表头结束--> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部--> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> </tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部--> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </tfoot> <!--添加表尾结束--> </table>
效果:
解释:<colgroup>元素是为了处理某个列,span属性定义处理哪些列。1表示第一列,2表示前两列。如果要单独设置第二列,那么需要声明两个,先处理第一个,将列点移入第二位,再处理第二个即可。
8.<col>更灵活的设置列
<table border="1" style="300px;"> <caption>这是一个人物表</caption> <!--添加表格标题--> <colgroup> <col> <!--不需要设置的列,可以用col当做占位符--> <col style="background:red;" span="1"> </colgroup> <!--设置列--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部--> <tr> <th>姓名</th> <th>性别</th> <th>婚姻</th> </tr> </thead> <!--添加表头结束--> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部--> <tr> <td>张三</td> <td>男</td> <td>未婚</td> </tr> </tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部--> <tr> <td>李四</td> <td>女</td> <td>已婚</td> </tr> </tfoot> <!--添加表尾结束--> </table>
效果:
解释:<colgroup>的子标签,<col>元素表示单独一列,一个表示一列,控制更加灵活。如果设置了span则,控制多列。