一、表格元素汇总
表格的基本构成最少需要三个元素:<table>、<tr>、<td>,其他的一些作为可选辅助存在
元素名称 | 说明 |
table | 表示表格 |
thead | 表示标题行 |
tbody | 表示表格主体 |
tfoot | 表示表脚 |
tr | 表示一行单元格 |
th | 表示标题行单元格 |
td | 表示单元格 |
col | 表示一列 |
colgroup | 表示一组咧 |
caption | 表示表格标题 |
二、构建表格解析
1、<table><tr><td>构建基础表格
1
2
3
4
5
6
7
8
9
10
11
12
|
<
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>为表格添加标题单元格
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<
table
border
=
"1"
style
=
"width: 300px"
>
<
tr
>
<
th
>姓名</
th
>
<
th
>性别</
th
>
<
th
>婚姻</
th
>
</
tr
>
<
tr
>
<
th
>张三</
th
>
<
th
>男</
th
>
<
th
>未婚</
th
>
</
tr
>
<
tr
>
<
th
>李四</
th
>
<
th
>女</
th
>
<
th
>已婚</
th
>
</
tr
>
</
table
>
|
解释:<th>元素主要是添加标题行的单元格。实际作用就是将内部文字居中且加密。这里使用了一个通用属性style,主要用于CSS样式设置,以后会涉及到。<th><td>均属于单元格,包含了两个合并属性:colspan(左右合并),rowspan(上下合并)等。
例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<
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
>
<
tr
>
<
td
colspan
=
"3"
>共计有两人</
td
>
</
tr
>
</
table
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<
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
>
</
table
>
|
3、<thead>添加表头
1
2
3
4
5
6
|
<
thead
>
<
tr
>
<
td
>###</
td
>
<
td
>###</
td
>
</
tr
>
</
thead
>
|
解释:<thead>元素就是限制和规范了表格的表头部分。尤其是以后动态生成表头,它的位置是不固定的,使用此元素可以限定在开头的位置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<
table
border
=
"1"
style
=
"width: 300px"
>
<
thead
>
<
th
>姓名</
th
>
<
th
>性别</
th
>
<
th
>婚姻</
th
>
</
thead
>
<
tr
>
<
td
>张三</
td
>
<
td
>男</
td
>
<
td
>未婚</
td
>
</
tr
>
<
tr
>
<
td
>李四</
td
>
<
td
>女</
td
>
<
td
>已婚</
td
>
</
tr
>
</
table
>
|
4、<tfood>添加表脚
1
2
3
4
5
|
<
tfoot
>
<
tr
>
<
td
colspan
=
"3"
>合计</
td
>
</
tr
>
</
tfoot
>
|
解释:<tfood>元素为表格生成表脚,限制在表格的底部
5、<tbody>添加表主体
1
2
3
4
5
6
7
8
9
10
11
12
|
<
tbody
>
<
tr
>
<
td
>张三</
td
>
<
td
>男</
td
>
<
td
>未婚</
td
>
</
tr
>
<
tr
>
<
td
>李四</
td
>
<
td
>女</
td
>
<
td
>已婚</
td
>
</
tr
>
</
tbody
>
|
解释:<tbody>元素主要是包含住非表头表脚的主体部分,有助于表格格式的清晰,更加有助于后续的CSS和JavaScript的控制
6、<caption>添加表格标题
1
|
<
caption
>这是一个人物表</
caption
>
|
解释:<caption>元素给表格添加一个标题
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<
table
border
=
"1"
style
=
"width: 300px"
>
<
caption
>这是一个标题</
caption
>
<
thead
>
<
th
>姓名</
th
>
<
th
>性别</
th
>
<
th
>婚姻</
th
>
</
thead
>
<
tr
>
<
td
>张三</
td
>
<
td
>男</
td
>
<
td
>未婚</
td
>
</
tr
>
<
tr
>
<
td
>李四</
td
>
<
td
>女</
td
>
<
td
>已婚</
td
>
</
tr
>
<
tfoot
>
<
tr
>
<
td
colspan
=
"3"
>合计</
td
>
</
tr
>
</
tfoot
>
</
table
>
|
7、<colgroup>设置列
1
|
<
colgroup
span
=
"2"
style
=
"background:red;"
>
|
解释:该标签是为了处理某个列,span属性定义处理哪些列。1表示第一列,2表示前两列。如果要单独设置第二列,那么需要声明两个,先处理第一个,将列点移入第二位,在处理第二个即可。
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<
table
border
=
"1"
style
=
"width: 300px"
>
<
colgroup
style
=
"background: white;"
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
>
<
tr
>
<
td
colspan
=
"3"
>共计有两人</
td
>
</
tr
>
</
table
>
|
8、<col>更灵活设置列
1
2
3
4
|
<
colgroup
>
<
col
>
<
col
style
=
"bakgroup:red;span="
"1">
</
colgroup
>
|
解释:<col>元素表示单独一列,一个表示一列,控制更加灵活,如果设置了span规则,控制多列
上面的例子可以这样设置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
table border="1" style="width: 300px">
<
colgroup
>
<
col
>
<
col
style
=
"background: red;"
>
</
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
>
<
tr
>
<
td
colspan
=
"3"
>共计有两人</
td
>
</
tr
>
</
table
>
|