在HTML中,一个表格一般会由以下三个部分组成。
表格:table标签
行:tr
标签单元格:td
标签语法
<table>
<tr>
<td>单元格 1</td>
<td>单元格 2</td>
</tr>
<tr>
<td>单元格 3</td>
<td>单元格 4</td>
</tr>
</table>
tr,指的是table row(表格行)。
td,指的是table data cell(表格单元格)。
<table>和</table>表示整个表格的开始和结束,<tr>和 </tr>表示行的开始和结束,而<td>和</td>表示单元格的开始和结束。
练习题:
利用这一章学到的知识,制作如图所示的表格效果,并且要求代码语义化。
代码:
html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>表格练习</title>
<style type="text/css">
table,tr,td{border:1px solid silver;}
</style>
</head>
<body>
<table>
<caption style="text-align:center;">学生成绩表</caption>
<thead>
<tr>
<th>姓名</th>
<th>性别</th>
<th>成绩</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>男</td>
<td>250</td>
</tr>
<tr>
<td>李四</td>
<td>男</td>
<td>250</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>平均分</td>
<td colspan="2">385</td>
</tr>
</tfoot>
</table>
</body>
</html>
效果图:
练习过程代码:
html
<!DOCTYPE html>
<html>
<head>
<title>表格</title>
<meta charset="utf-8"/>
<!-- 这里使用CSS为表格加上边框 -->
<style type="text/css">
table,tr,td{border:1px solid silver;}
</style>
</head>
<bady>
<!-- 在过去的Web 1.0时代,表格常用于网页布局。
但是在Web2.0中,这种方式已经被抛弃了,网页布局都是使用CSS来实现的(学了CSS就会知道) -->
<!-- 一个表格只能有一个标题,也就是只能有一个caption标签。
在默认情况下,标题都是位于整个表格内的第一行。 -->
<!-- tr,指的是table row(表格行)。td,指的是table data cell(表格单元格)。 -->
<table>
<caption>表格标题</caption>
<tr>
<td>单元格 1</td>
<td>单元格 2</td>
</tr>
<tr>
<td>单元格 3</td>
<td>单元格 4</td>
</tr>
</table>
<table>
<caption>技术学习</caption>
<tr>
<td>HTML</td>
<td>CSS</td>
</tr>
<tr>
<td>JavaScript</td>
<td>jQuery</td>
</tr>
</table>
<!-- 在HTML中,单元格其实有两种:表头单元格,使用th标签;表行单元格,使用td标签。 -->
<!-- th,指的是table header cell(表头单元格)。td,指的是table data cell(表行单元格)。 -->
<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>
<table>
<caption>考试成绩表</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
</tr>
<tr>
<td>张三</td>
<td>90</td>
<td>80</td>
</tr>
<tr>
<td>李四</td>
<td>70</td>
<td>60</td>
</tr>
</tr>
</table>
<!-- 一个完整的表格包含:table、caption、tr、th、td。为了更深入地对表格进行语义化,
HTML引入了thead、tbody和thead、tbody和tfoot把表格划分为三部分:表头、表身、表脚。
有了这三个标签,表格语义更加良好,结构更清晰,也更具有可读性和可维护性 -->
<table>
<caption>考试成绩表</caption>
<thead>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>90</td>
<td>80</td>
</tr>
<tr>
<td>李四</td>
<td>70</td>
<td>60</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>平均分</td>
<td>75</td>
<td>65</td>
</tr>
</tfoot>
</table>
<!-- 表脚(tfoot)往往用于统计数据。对于thead、tbody和tfoot这三个标签,不一定全部都用上,
例如tfoot就很少用。一般情况下,我们都是根据实际需要来使用这三个标签。 -->
<!-- thead、tbody和tfoot除了使得代码更具有语义之外,还有另外一个重要作用:方便分块来控制表格的CSS样式。 -->
<!-- 有时我们需要将"横向的N个单元格"或者"纵向的N个单元格"合并成一个单元格(类似Word中的表格合并),这个时候就需要用到"合并行"或"合并列"。 -->
<!-- 合并行 -->
<br/>
<table>
<tr>
<td>姓名:</td>
<td>小明</td>
</tr>
<tr>
<td>喜欢的水果:</td>
<td>苹果</td>
</tr>
<tr>
<td>香蕉</td>
</tr>
</table>
<!-- rowspan="2"实际上是让加上rowspan属性的这个td标签跨越两行。 -->
<br/>
<table>
<tr>
<td>姓名:</td>
<td>小明</td>
</tr>
<tr>
<td rowspan="2">喜欢的水果:</td>
<td>苹果</td>
</tr>
<tr>
<td>香蕉</td>
</tr>
</table>
<br/>
<!-- 在HTML中,我们可以使用colspan属性来合并列。所谓的合并列,指的是将"横向的N个单元格"合并 -->
<table>
<tr>
<td>前端开发技术</td>
</tr>
<tr>
<td>HTML</td>
<td>CSS</td>
</tr>
<tr>
<td>JavaScript</td>
<td>jQuery</td>
</tr>
</table>
<br/>
<table>
<tr>
<td colspan="2">前端开发技术</td>
</tr>
<tr>
<td>HTML</td>
<td>CSS</td>
</tr>
<tr>
<td>JavaScript</td>
<td>jQuery</td>
</tr>
</table>
</bady>
</html>
效果图: