表格
表格的基本结构
在HTML中,一个表格一般由以下3个部分组成:
- 表格: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 >表示行的开始和结束
- < tb >< /tb >表示单元格的开始和结束
在表格中,有多少组“< tr >< /tr >”就表明有多少行
在表格中,有多少组"< td >< /td >"就表明有多少列
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>表格基本结构</title>
<!--这里使用CSS为表格加上边框-->
<style type="text/css">
table,tr,td{border:lpx solid silver;}
</style>
</head>
<body>
<table>
<tr>
<td>HTML</td>
<td>CSS</td>
</tr>
<tr>
<td>JavaScript</td>
<td>jQuery</td>
</tr>
</table>
</body>
</html>
HTML | CSS |
JavaScript | jQuery |
完整结构
表格标题:caption
在HTML中,表格一般都会有一个标题,可以用过caption标签实现
语法结构:
<table>
<caption>表格标题</caption>
<tr>
<td>单元格1</td>
<td>单元格2</td>
</tr>
<tr>
<td>单元格3</td>
<td>单元格4</td>
</tr>
</table>
一个表格只能有一个标题,也就是只能由一个caption标签。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表格标题</title>
<!--这里使用CSS为表格加上边框-->
<style type="text/css">
table,tr,td{border: lpx solid silver;}
</style>
</head>
<body>
<table>
<caption>考试成绩表<caption>
<tr>
<td>小明</td>
<td>80</td>
<td>80</td>
<td>80</td>
</tr>
<tr>
<td>小红</td>
<td>90</td>
<td>90</td>
<td>90</td>
</tr>
<tr>
<td>小杰</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</table>
</body>
</html>
小明 | 80 | 80 | 80 |
小红 | 90 | 90 | 90 |
小杰 | 100 | 100 | 100 |
表头单元格:th
在HTML中,单元格其实有两种:
- 一种是“表头单元格”,使用的是th标签
- 一种是“表行单元格”,使用的是td标签
语法结构:
<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>
th和td本质上都是单元格,但两者是有很大区别的:
- 显示上:浏览器会以“粗体”和“居中”来显示th标签中的内容,但是td标签不会
- 语义上:th标签用于表头,而td标签用于表行
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表头单元格</title>
<!--这里使用CSS为表格加上边框-->
<style type="text/css">
table,tr,td,th{border: lpx solid silver;}
</style>
</head>
<body>
<table>
<caption>考试成绩</caption>
<tr>
<th>姓名</th>
<th>语文</th>
<th>英语</th>
<th>数学</th>
</tr>
<tr>
<td>小明</td>
<td>80</td>
<td>80</td>
<td>80</td>
</tr>
<tr>
<td>小红</td>
<td>90</td>
<td>90</td>
<td>90</td>
</tr>
<tr>
<td>小杰</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</table>
</body>
</html>
姓名 | 语文 | 英语 | 数学 |
---|---|---|---|
小明 | 80 | 80 | 80 |
小红 | 90 | 90 | 90 |
小杰 | 100 | 100 | 100 |
语义化
一个完整的表格除了:table、caption、tr、th、td。HTML还引入了thead、tbody和tfoot三个标签
thead、tboby、tfood将表格分为:表头,表身,表脚三个部分
语法结构:
<table>
<caption>表格标题</caption>
<!--表头-->
<thead>
<tr>
<th>表头单元格1</th>
<th>表头单元格2</th>
</tr>
</thead>
<tbody><>
</table>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表格语义化</title>
<!--这里使用CSS为表格加上边框-->
<style type="text/css">
table,tr,td,th{border: lpx solid silver;}
</style>
</head>
<body>
<table>
<caption>考试成绩</caption>
<thead>
<tr>
<th>姓名</th>
<th>语文</th>
<th>英语</th>
<th>数学</th>
</tr>
</thead>
<tbody>
<tr>
<td>小明</td>
<td>80</td>
<td>80</td>
<td>80</td>
</tr>
<tr>
<td>小红</td>
<td>90</td>
<td>90</td>
<td>90</td>
</tr>
<tr>
<td>小杰</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>平均</td>
<td>80</td>
<td>90</td>
<td>100</td>
</tr>
</tfoot>
</table>
</body>
</html>
<thead>
<tr>
<th>姓名</th>
<th>语文</th>
<th>英语</th>
<th>数学</th>
</tr>
</thead>
<tbody>
<tr>
<td>小明</td>
<td>80</td>
<td>80</td>
<td>80</td>
</tr>
<tr>
<td>小红</td>
<td>90</td>
<td>90</td>
<td>90</td>
</tr>
<tr>
<td>小杰</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>平均</td>
<td>80</td>
<td>90</td>
<td>100</td>
</tr>
</tfoot>
</table>
</body>
<thead>
<tr>
<th>姓名</th>
<th>语文</th>
<th>英语</th>
<th>数学</th>
</tr>
</thead>
<tbody>
<tr>
<td>小明</td>
<td>80</td>
<td>80</td>
<td>80</td>
</tr>
<tr>
<td>小红</td>
<td>90</td>
<td>90</td>
<td>90</td>
</tr>
<tr>
<td>小杰</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>平均</td>
<td>80</td>
<td>90</td>
<td>100</td>
</tr>
</tfoot>
</table>
</body>
合并行:sowspan
语法结构:
<td rowspan="跨域行数"></td>
代码实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表格语义化</title>
<!--这里使用CSS为表格加上边框-->
<style type="text/css">
table,tr,td,th{border: lpx solid silver;}
</style>
</head>
<body>
<table>
<caption>考试成绩</caption>
<thead>
<tr>
<th>姓名</th>
<th>语文</th>
<th>英语</th>
<th>数学</th>
</tr>
</thead>
<tbody>
<tr>
<td>小明</td>
<td>80</td>
<td>80</td>
<td>80</td>
</tr>
<tr>
<td>小红</td>
<td>90</td>
<td>90</td>
<td>90</td>
</tr>
<tr>
<td>小杰</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>平均</td>
<td>80</td>
<td>90</td>
<td>100</td>
</tr>
</tfoot>
</table>
</body>
</html>
合并列:colspan
语法结构:
<td colspan="跨域的列数"></td>
代码实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>colspan属性</title>
<!--这里使用CSS为表格加上边框-->
<style type="text/css">
table,tr,td,th{border: lpx solid silver;}
</style>
</head>
<body>
<table>
<tr>
<td colspan="2">前端开发技术</td>
</tr>
<tr>
<td>HTML</td>
<td>CSS</td>
</tr>
<tr>
<td>JavaScript</td>
<td>jQuery</td>
</tr>
</table>
</body>
</html>
前端开发技术 | |
HTML | CSS |
JavaScript | jQuery |