[HTML5]-4-表格

引言

这篇文章介绍HTML中的表格。

文章目录

0×1.table标签实例

1)简单的表格结构

要想在页面中显示一个表格,可以使用table标签,在table标签对中,使用tr标签定义表格的一行,使用th标签包含表格的表头信息,使用td标签包含表格每个单元格的信息,请看下面的实例:

					<!DOCTYPE html>
					<html lang="zh-cn">
					<head>
						<meta charset="UTF-8">
						<title>table标签实例</title>
					</head>
					<body>
						<!--border属性定义了表格的边框厚度,大家可以尝试着将1改成10,查看一下显示效果-->
						<table border="1">
							<tr> <!--每个tr标签对都代表表格的一行-->
								<!--包含在th里的表头字体会被加粗显示-->
								<th>表头1</th>
								<th>表头2</th>
							</tr>
							<tr>
								<!--每个th或td标签对都代表表格的一个单元格-->
								<td>数据1</td>
								<td>数据2</td>
							</tr>
						</table>
					</body>
					</html>
					

显示效果:

表头1 表头2
数据1 数据2

2)横向合并与竖直合并的单元格

表格的单元格是可以横向合并和竖直合并的,使用colspan横向合并单元格,使用rowspan竖直合并单元格,请看下面的实例:

					<!DOCTYPE html>
					<html lang="zh-cn">
					<head>
						<meta charset="UTF-8">
						<title>table标签实例</title>
					</head>
					<body>
						<table border="1">
								<!--横向占三个单元格的th标签-->
								<tr>
									<th colspan="3">大表头</th>
								</tr>
								<tr>
									<!--竖直占用2个单元格的td标签-->
									<td rowspan="2">向下合并2</td>
									<td>数据1</td>
									<td>数据2</td>
								</tr>
								<tr>
									<td>数据3</td>
									<td>数据4</td>
								</tr>
						</table>
					</body>
					</html>
					<!--注意!如果设置了表头横向占用3个单元格,那么对应的,下面每排tr中也应该有3个td,因为第二排的第一个td向下多占用了一个单元格,所以第三排tr中,就只需要2个td了,大家可以尝试着少写一个td,那样浏览器会在对应的单元格部分留出空白-->
					

显示效果:

大表头
向下合并2 数据1 数据2
数据3 数据4

3)表格结构框架thead,tbody,tfoot

在table标签中使用thead,tbody,tfoot这三个标签,强调表格的头部,主干和表尾,这样不论这些语句是不是按照顺序书写,解释器都能识别它们正确的位置,请看下面的实例:

					<!DOCTYPE html>
					<html lang="zh-cn">
					<head>
						<meta charset="UTF-8">
						<title>table标签实例</title>
					</head>
					<body>
						<table border="1">
							<!--表格的描述信息,包含在caption标签中-->
							<caption>表格描述信息</caption>
							<tfoot><!--tfoot标签虽然写在头部上面,但仍然显示在表格底部-->
								<tr>
									<td colspan="2">表格尾部信息</td>
								</tr>
							</tfoot>
							<tbody>
								<tr>
									<td>内容1</td>
									<td>内容2</td>
								</tr>
							</tbody>
							<thead><!--thead标签虽然写在最下方,但仍然显示在表格顶部-->
								<tr>
									<th colspan="2">表格头部信息</th>
								</tr>
							</thead>
						</table>
					</body>
					</html>
					

显示效果:

表格描述信息
表格尾部信息
内容1 内容2
表格头部信息

0×2.表格列选择器colgroup

表格列选择标签colgroup,可以帮助我们灵活的选择表格的某列进行css样式控制,请看下面的实例:

1)选择表格的第一列

					<!DOCTYPE html>
					<html lang="zh-cn">
					<head>
						<meta charset="UTF-8">
						<title>table标签实例</title>
					</head>
					<body>
						<table border="1">
							<!--默认不添加属性span,就是选择表格第一列,其中的style样式是css的内容,这里我们可以理解成将表格的第一列的背景设置成绿色-->
							<colgroup style="background: green;"></colgroup>
							<tr>
								<td>数据1</td>
								<td>数据2</td>
								<td>数据3</td>
							</tr>
							<tr>
								<td>数据4</td>
								<td>数据5</td>
								<td>数据6</td>
							</tr>
						</table>
					</body>
					</html>
					

显示效果:

数据1 数据2 数据3
数据4 数据5 数据6

2)使用span选择两列

					<!DOCTYPE html>
					<html lang="zh-cn">
					<head>
						<meta charset="UTF-8">
						<title>table标签实例</title>
					</head>
					<body>
						<table border="1">
							<!--span属性告诉解释器,从表格的第一列开始选择几列,本例选择2列,设置其背景为绿色-->
							<colgroup style="background: green;" span="2"></colgroup>
							<tr>
								<td>数据1</td>
								<td>数据2</td>
								<td>数据3</td>
							</tr>
							<tr>
								<td>数据4</td>
								<td>数据5</td>
								<td>数据6</td>
							</tr>
						</table>
					</body>
					</html>
					

显示效果:

数据1 数据2 数据3
数据4 数据5 数据6

3)仅选择其中的某一列

					<!DOCTYPE html>
					<html lang="zh-cn">
					<head>
						<meta charset="UTF-8">
						<title>table标签实例</title>
					</head>
					<body>
						<table border="1">
							<colgroup>
								<!--在colgroup标签中配置col子标签,每对col子标签代表表格的一列,如果仅想配置表格的第二列,用一对空col标签占用第一列即可,如果是想配置表格的第三列,那么可以再添加一个col空标签对占用第二列,以此类推,本例配置的是第二列背景为绿色-->
								<col></col>
								<col style="background: green;"></col>
							</colgroup>
							<tr>
								<td>数据1</td>
								<td>数据2</td>
								<td>数据3</td>
							</tr>
							<tr>
								<td>数据4</td>
								<td>数据5</td>
								<td>数据6</td>
							</tr>
						</table>
					</body>
					</html>
					

显示效果:

数据1 数据2 数据3
数据4 数据5 数据6

如果是想配置表格的第3和第4列,可以在col标签中使用span属性,span属性的作用和colgroup中相同,即从第几列开始,往后选择几列:

					<!DOCTYPE html>
					<html lang="zh-cn">
					<head>
						<meta charset="UTF-8">
						<title>table标签实例</title>
					</head>
					<body>
						<table border="1">
							<colgroup>
								<col></col>
								<!--从第2列开始,往后选择2列,即选择第2列和第3列,并将其背景显示为绿色-->
								<col style="background: green;" span="2"></col>
							</colgroup>
							<tr>
								<td>数据1</td>
								<td>数据2</td>
								<td>数据3</td>
							</tr>
							<tr>
								<td>数据4</td>
								<td>数据5</td>
								<td>数据6</td>
							</tr>
						</table>
					</body>
					</html>
					
数据1 数据2 数据3
数据4 数据5 数据6

根据上一篇文章的内容我们可以分析得出,table应该属于块状元素,因为它每次出现都是独占一行,但这并不意味着所有独占一行的元素都是块状元素,因为块状元素和后面要介绍的内联元素是可以通过css互相转换的,我们所说的独占一行,是指默认在没有css控制的情况下,如果这个元素的出现独占一行,那么可以判断,这个元素就是块状元素。