1.创建表格
在HTML中,表格主要通过三个标记来构成,即表格标记(table)、行标记(tr)、单元格标记(td)。
1.1表格的基本构成
表格中各元素的含义如下:
元素 | 含义 |
---|---|
行和列 | 横向为行,纵向为列 |
单元格 | 行列交叉的部分 |
边距 | 单元格中的内容和表框之间的距离 |
间距 | 单元格和单元格之间的距离 |
边框 | 整张表格的边缘叫边框 |
三要素 | 行、列、单元格 |
嵌套 | 在一张表格的单元格中插入另一张表格,大小受单元格的大小限制 |
1.2表格的标题
表格中的表格标题通过caption标签来实现。
语法描述如下:
<caption>表格的标题</caption>
1.3表格的表头
表头是表格中一种特殊的单元格,一般位于第一行,用来表示这一列的内容类别。
语法描述如下:
<table>
<tr>
<th>单元格中的内容</th>
<th>单元格中的内容</th>
</tr>
</table>
表格(包含标题与表头)的制作实例代码:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table>
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
2.设置表格边框样式
2.1给表格设置边框
border属性被指定时浏览器才会显示表格的边框。
语法描述如下:
<table border="参数值"></table>
设置表格边框示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
2.2给表格边框设置颜色
如果没有自行设置边框颜色,边框在浏览器中显示就是灰色的,可以使用bordercolor属性进行边框颜色的设置。
语法描述如下:
<table bordercolor="颜色值"></table>
设置表格边框颜色的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" bordercolor="green">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
2.3表格中的单元格边距
单元格之间的间距用cellspacing属性进行设置,宽度值是像素。
语法描述如下:
<table cellspacing="值"></table>
设置表格单元格边距的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" bordercolor="green" cellspacing="10">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
2.4表格中文字与边框边距
单元格中的文字在没被设置的情况是紧贴在单元格边框上的,若要设置文字与边框之间的距离就要用到cellpadding属性。
语法描述如下:
<table cellpadding="值"></table>
设置表格单元格边距的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" bordercolor="green" cellspacing="10" cellpadding="5">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
3.设置表格大小和行内属性
3.1设置整张表格的大小
表格的大小(宽和高)可以利用width和height属性来设置。这两个属性值可以是数字或者百分数,数字是表示表格的宽(高)所占的像素点,百分数是表示表格的宽(高)占据浏览器窗口的宽(高)度的百分比。
语法描述如下:
<table width="值" height="值"></table>
设置表格大小的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" width="200" height="150">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
3.2设置行的背景颜色及大小
bgcolor属性用来设置行(只是当前行)背景颜色,且会覆盖表格本来的颜色。
语法描述如下:
<tr height="值" bgcolor="值"></tr>
设置行的背景颜色及大小的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" width="200" height="150">
<caption>成绩单</caption>
<tr height="50" bgcolor="skyblue">
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
3.3设置行内文字的对齐方式
如果要单独给表格内的某一行(单元格)设置不同的对齐方式,就需要用到align(水平对齐)和valign(垂直对齐)属性。设置此属性后会覆盖表格的原有对齐样式。
水平对齐方式有三种:left、center、right;
垂直对齐方式有三种:top、middle、bottom。
水平对齐:
语法描述如下:
<tr align="值"></tr>
垂直对齐:
语法描述如下:
<tr valign="值"></tr>
设置水平对齐(姓名为张三行)和垂直对齐(姓名为李四行)的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" width="200" height="150">
<caption>成绩单</caption>
<tr height="50" bgcolor="skyblue">
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr align="center">
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr valign="top">
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
4.设置表格的背景
为了美化表格,可以为其设置背景颜色或者背景图。
4.1背景颜色:
语法描述如下:
<table bgcolor="值"></table>
设置背景颜色的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table bgcolor="skyblue" border="1" width="200" height="150">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
4.2背景图:
语法描述如下:
<table background="图片地址"></table>
设置背景图的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" width="200" height="150" background="蓝忘机.jpg">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
5.设置单元格的样式
单元格是表格的基本单位,每个单元格都可以设置不同的样式,如颜色、跨度、对齐方式等,这些样式可以覆盖原表格或原某一行的样式。
5.1设置单元格的大小:
如果不单独设置单元格的属性,其宽度和高度都会根据内容自动调整。想要单独设置单元格大小,就要设置其width和height属性。
语法描述如下:
<td width="值" height="值"></td>
设置单元格大小的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" width="200" height="150">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td width="50" height="30">张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td height="50">李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
5.2设置单元格的背景颜色
单元格与表格的背景颜色设置都是通过bgcolor属性实现,不过单元格的背景颜色会覆盖表格的背景颜色。
语法描述如下:
<td bgcolor="值"></td>
设置单元格背景颜色的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" width="200" height="150">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td bgcolor="skyblue">张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td bgcolor="skyblue">李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图:
5.3设置单元格的边框颜色
通过bordercolor属性来设置单元格的边框属性。
语法描述如下:
<td bordercolor="值"></td>
设置单元格边框颜色的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" width="200" height="150">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td bordercolor="#ff0000">张三</td>
<td>98</td>
<td>99</td>
<td>97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
<td>97</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图(网上查过,颜色未发生改变应该是HTML兼容问题,但代码正确):
5.4合并单元格
在表格设计时,有时需要将两个或多个相邻的单元格进行合并,这时就需要用到colspan属性(列间合并)和rowspan属性(行间合并)。举个例子:如果需要将两行相邻的两个单元格进行合并,在第一个单元格设置rowspan属性,后一个相应的空单元格删掉即可。
行间合并:
语法描述如下:
<td rowspan="值"></td>
列间合并:
语法描述如下:
<td colspan="值"></td>
设置行间、列间单元格合并的示例代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<td colspan="值"></td>
<table border="1" width="200" height="150">
<caption>成绩单</caption>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td colspan="2">98</td>
<td rowspan="2">97</td>
</tr>
<tr>
<td>李四</td>
<td>93</td>
<td>96</td>
</tr>
</table>
</body>
</html>
代码运行结果如下图: