Appearance
表格
HTML 表格用于展示二维数据,由行和列组成。
基本结构
表格使用 <table> 标签创建:
html
<table>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>城市</th>
</tr>
<tr>
<td>张三</td>
<td>25</td>
<td>北京</td>
</tr>
<tr>
<td>李四</td>
<td>30</td>
<td>上海</td>
</tr>
</table>表格标签
| 标签 | 说明 |
|---|---|
<table> | 定义表格 |
<tr> | 定义表格行 |
<th> | 定义表头单元格(加粗居中) |
<td> | 定义表格单元格 |
表格结构
为了更好的语义化,可以将表格分为三个部分:
html
<table>
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>城市</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>25</td>
<td>北京</td>
</tr>
<tr>
<td>李四</td>
<td>30</td>
<td>上海</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>合计</td>
<td>2人</td>
<td>-</td>
</tr>
</tfoot>
</table>结构标签
| 标签 | 说明 |
|---|---|
<thead> | 表头区域 |
<tbody> | 表体区域 |
<tfoot> | 表尾区域 |
合并单元格
跨列合并(colspan)
html
<table border="1">
<tr>
<th colspan="3">学生信息</th>
</tr>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>城市</th>
</tr>
<tr>
<td>张三</td>
<td>25</td>
<td>北京</td>
</tr>
</table>跨行合并(rowspan)
html
<table border="1">
<tr>
<th>类别</th>
<th>项目</th>
<th>价格</th>
</tr>
<tr>
<td rowspan="2">水果</td>
<td>苹果</td>
<td>5元</td>
</tr>
<tr>
<td>香蕉</td>
<td>3元</td>
</tr>
<tr>
<td rowspan="2">蔬菜</td>
<td>白菜</td>
<td>2元</td>
</tr>
<tr>
<td>萝卜</td>
<td>1元</td>
</tr>
</table>表格属性
边框
html
<table border="1">
<!-- 带边框的表格 -->
</table>单元格间距
html
<table cellspacing="10">
<!-- 单元格之间的间距 -->
</table>单元格内边距
html
<table cellpadding="10">
<!-- 单元格内容与边框的距离 -->
</table>提示
以上属性已废弃,推荐使用 CSS 设置表格样式:
css
table { border-collapse: collapse; }
td, th { padding: 10px; border: 1px solid #ccc; }表格标题
使用 <caption> 标签添加表格标题:
html
<table>
<caption>2024年销售统计表</caption>
<thead>
<tr>
<th>月份</th>
<th>销售额</th>
</tr>
</thead>
<tbody>
<tr>
<td>1月</td>
<td>10000</td>
</tr>
<tr>
<td>2月</td>
<td>15000</td>
</tr>
</tbody>
</table>完整示例
html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>表格示例</title>
<style>
table {
border-collapse: collapse;
width: 100%;
margin: 20px 0;
}
th, td {
border: 1px solid #ddd;
padding: 12px;
text-align: left;
}
th {
background-color: #4CAF50;
color: white;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
tr:hover {
background-color: #ddd;
}
caption {
font-size: 1.5em;
margin-bottom: 10px;
font-weight: bold;
}
</style>
</head>
<body>
<h1>课程安排表</h1>
<table>
<caption>2024年春季学期课程安排</caption>
<thead>
<tr>
<th rowspan="2">时间</th>
<th colspan="3">课程</th>
</tr>
<tr>
<th>周一</th>
<th>周三</th>
<th>周五</th>
</tr>
</thead>
<tbody>
<tr>
<td>8:00-10:00</td>
<td>HTML</td>
<td>CSS</td>
<td>JavaScript</td>
</tr>
<tr>
<td>10:00-12:00</td>
<td>Vue.js</td>
<td>React</td>
<td>Node.js</td>
</tr>
<tr>
<td>14:00-16:00</td>
<td>数据库</td>
<td>算法</td>
<td>项目实战</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4">总计:每周 9 节课</td>
</tr>
</tfoot>
</table>
<h2>学生成绩表</h2>
<table>
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>HTML</th>
<th>CSS</th>
<th>JavaScript</th>
<th>总分</th>
</tr>
</thead>
<tbody>
<tr>
<td>001</td>
<td>张三</td>
<td>90</td>
<td>85</td>
<td>88</td>
<td>263</td>
</tr>
<tr>
<td>002</td>
<td>李四</td>
<td>78</td>
<td>92</td>
<td>85</td>
<td>255</td>
</tr>
<tr>
<td>003</td>
<td>王五</td>
<td>95</td>
<td>88</td>
<td>92</td>
<td>275</td>
</tr>
</tbody>
</table>
</body>
</html>