一、概述
HTML表格由table标签以及一个或多个tr、th或td标签组成:table标签用来定义表格;tr标签用来定义表格中的行,它是单元格的容器,每行可以包含多个单元格;td标签和th标签用来定义单元格,所有单元格都在tr标签内,具体的表格内容放置在一对td标签或th标签之中,其语法如下:
<table>
<tr>
<th>第1行第1列的内容</th>
<th>第1行第2列的内容</th>
…
</tr>
<tr>
<td>第2行第1列的内容</td>
<td>第2行第2列的内容</td>
…
</tr>
…
</table>
说明:th标签中的内容默认以粗体、居中的方式显示
二、table标签属性
1、border标签属性:设定围绕表格的边框的宽度。
注意:border标签属性不仅设置围绕表格边框的宽度,还为每个单元格添加宽度为1px的边框;实际开发中不建议使用border标签属性实现边框效果,建议通过为table、th和td设定border样式属性实现,示例如下:
<style>
table{
border: 1px solid black;
}
td{
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
2、width标签属性:设定表格的宽度。
注意:实际开发中,不建议通过width标签属性设置表格宽度,建议向table标签添加width样式属性进行设置,示例如下:
<style>
table{
width: 50%;
border: 1px solid black;
}
td{
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
3、align标签属性:指定表格相对于周围标签的对齐方式。
该标签属性属性值如下:
值 | 描述 |
---|---|
left | 左对齐表格 |
right | 右对齐表格 |
center | 居中对齐表格 |
注意:不建议通过align标签属性设置表格相对于周围标签的对齐方式,建议向table标签添加样式属性进行设置:
a、实现左右对齐可以通过float样式属性实现:
值 | 描述 |
---|---|
left | 元素向左浮动 |
right | 元素向右浮动 |
none | 默认值。元素不浮动,并会显示在其在文本中出现的位置 |
inherit | 规定应该从父元素继承 float 属性的值 |
b、居中对齐可以通过margin样式属性实现:margin: 0 auto;
示例如下:
<style>
table{
width: 50%;
margin: 0 auto;
border: 1px solid black;
}
td{
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
4、cellspacing标签属性:设定单元格之间的间距(单位:px)。
注意:不建议通过cellspacing标签属性设置单元格之间的间距,建议向table标签添加border-spacing样式属性进行设置,示例如下:
<style>
table{
width: 50%;
margin: 0 auto;
border-spacing: 0;
border: 1px solid black;
}
td{
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
5、cellpadding标签属性:设定单元边沿与单元内容之间的间距(单位:px)。
注意:不建议通过cellpadding标签属性设置单元边沿与单元内容之间的间距,建议向td或th标签添加padding样式属性来实现,示例如下:
<style>
table{
width: 50%;
margin: 0 auto;
border-spacing: 0;
border: 1px solid black;
}
td{
padding: 30px;
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
6、border-collapse样式属性:设置表格的边框是否被合并为一个单一的边框。
该标签属性属性值如下:
值 | 描述 |
---|---|
separate | 默认值。边框会被分开。注意:不会忽略 border-spacing 和 empty-cells 属性 |
collapse | 边框会合并为一个单一的边框。注意:会忽略 border-spacing 和 empty-cells 属性 |
inherit | 规定应该从父元素继承 border-collapse 属性的值 |
示例如下:
<style>
table{
width: 50%;
margin: 0 auto;
border-spacing: 0;
border-collapse: collapse;
border: 1px solid black;
}
td{
padding: 30px;
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
7、bgcolor标签属性:设置表格背景颜色。
该标签属性属性值如下:
值 | 描述 |
---|---|
color_name | 规定颜色值为颜色名称的背景颜色(比如 “red”) |
hex_number | 规定颜色值为十六进制值的背景颜色(比如 “#ff0000”) |
rgb_number | 规定颜色值为 rgb 代码的背景颜色(比如 “rgb(255,0,0)”) |
注意:不建议通过bgcolor标签属性设置表格背景颜色,建议向table标签添加background-color样式属性实现这一效果,示例如下:
<style>
table{
width: 50%;
margin: 0 auto;
border-spacing: 0;
background-color: red;
border: 1px solid black;
}
td{
padding: 30px;
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
除了以上table标签常用的标签属性之外,table标签还有frame、rules和summary三个标签属性,但Internet Explorer浏览器不支持frame和rules标签属性,而summary标签属性不会在浏览器中产生任何视觉效果,所以这三个标签属性忽略不说。
三、tr标签属性
1、align标签属性:设置表格行中单元格内容的水平对齐方式。
该标签属性属性值如下:
值 | 描述 |
---|---|
left | 左对齐内容(默认值) |
right | 右对齐内容 |
center | 居中对齐内容(th 元素的默认值) |
justify | 对行进行伸展,这样每行都可以有相等的长度(就像在报纸和杂志中) |
char | 将内容对准指定字符。注:浏览器不支持该标签属性值 |
注意:建议向tr标签添加text-align样式属性设置表格行中单元格内容的水平对齐方式,示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
tr{
text-align: center;
}
td{
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
2、valign标签属性:设置表格行中单元格内容的垂直对齐方式。
该标签属性属性值如下:
值 | 描述 |
---|---|
top | 对内容进行上对齐 |
middle | 对内容进行居中对齐(默认值) |
bottom | 对内容进行下对齐 |
baseline | 与基线对齐 |
注意:建议向tr标签添加vertical-align样式属性设置表格行中单元格内容的垂直对齐方式,示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
tr{
height: 50px;
vertical-align: top;
text-align: center;
}
td{
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
3、bgcolor标签属性:设定表格行的背景颜色。
该标签属性属性值如下:
值 | 描述 |
---|---|
color_name | 规定颜色值为颜色名称的背景颜色(比如 “red”) |
hex_number | 规定颜色值为十六进制值的背景颜色(比如 “#ff0000”) |
rgb_number | 规定颜色值为 rgb 代码的背景颜色(比如 “rgb(255,0,0)”) |
注意:不建议通过bgcolor标签属性设置表格行的背景颜色,建议向tr标签添加background-color样式属性实现这一效果,示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
tr{
height: 50px;
vertical-align: top;
text-align: center;
background-color: red;
}
td{
border: 1px solid black;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
四、td(th)标签属性
1、width标签属性与height标签属性:设定单元格的宽度和高度。
该标签属性属性值如下:
值 | 描述 |
---|---|
pixels | 以像素计的高度值(比如 “100px”) |
percent | 以包含元素百分比计的高度值(比如 “20%”) |
注意:建议向th标签或td标签添加width样式属性和height样式属性设置单元格宽度和高度,示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
td{
border: 1px solid black;
height: 50px;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
2、valign标签属性:设置单元格内容的垂直对齐方式。
该标签属性属性值如下:
值 | 描述 |
---|---|
top | 对内容进行上对齐 |
middle | 对内容进行居中对齐(默认值) |
bottom | 对内容进行下对齐 |
baseline | 与基线对齐 |
注意:建议向th标签或td标签添加vertical-align样式属性设置单元格内容的垂直对齐方式,示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
td{
border: 1px solid black;
height: 50px;
vertical-align: bottom;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
3、align标签属性:设置单元格内容的水平对齐方式。
该标签属性属性值如下:
值 | 描述 |
---|---|
left | 左对齐表格(默认值) |
right | 右对齐表格 |
center | 居中对齐表格 |
justify | 对行进行伸展,这样每行都可以有相等的长度(就像在报纸和杂志中) |
char | 将内容对准指定字符。注:浏览器不支持该标签属性值 |
注意:建议向th标签或td标签添加text-align样式属性设置单元格内容的水平对齐方式。示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
td{
border: 1px solid black;
height: 50px;
text-align: center;
vertical-align: bottom;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
4、bgcolor标签属性:设定单元格背景颜色。
该标签属性属性值如下:
值 | 描述 |
---|---|
color_name | 规定颜色值为颜色名称的背景颜色(比如 “red”) |
hex_number | 规定颜色值为十六进制值的背景颜色(比如 “#ff0000”) |
rgb_number | 规定颜色值为 rgb 代码的背景颜色(比如 “rgb(255,0,0)”) |
注意:建议向th标签和td标签添加background-color样式属性设定单元格背景颜色。示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
td{
border: 1px solid black;
height: 50px;
background-color: red;
text-align: center;
vertical-align: bottom;
}
</style>
<table>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
5、colspan样式属性:设置单元格横跨多少列。
示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
td{
border: 1px solid black;
text-align: center;
height: 50px;
vertical-align: middle;
}
</style>
<table>
<tr>
<td colspan="3">1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</table>
运行结果如下图:
6、rowspan样式属性:设置单元格横跨多少行。
示例如下:
<style>
table{
width: 50%;
border-collapse: collapse;
border-spacing: 0;
margin: 0 auto;
border: 1px solid black;
}
td{
border: 1px solid black;
text-align: center;
height: 50px;
vertical-align: middle;
}
</style>
<table>
<tr>
<td colspan="3">1</td>
</tr>
<tr>
<td rowspan="2">1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
</tr>
</table>