表格是网页中展示结构化数据的一种重要方式。在 HTML 中,表格使用 <table> 标签创建,表格的内容通过一系列的行(<tr>)和单元格(<td>)来组织。表格也可以包含标题行(<th>)来标识列的标题。通过合理的使用表格,能够清晰地展示各种数据。

HTML 表格的基本结构

表格的基本结构由以下几个部分组成:

  • <table>:创建一个表格。
  • <tr>:定义表格的一行。
  • <th>:定义表格头部的单元格,通常用于显示列标题,默认内容为粗体并居中对齐。
  • <td>:定义表格的普通单元格,用于存放数据。

1. HTML 表格的基本示例

&lt;table border="1">
    &lt;tr>
        &lt;th>姓名&lt;/th>
        &lt;th>年龄&lt;/th>
        &lt;th>城市&lt;/th>
    &lt;/tr>
    &lt;tr>
        &lt;td>张三&lt;/td>
        &lt;td>28&lt;/td>
        &lt;td>北京&lt;/td>
    &lt;/tr>
    &lt;tr>
        &lt;td>李四&lt;/td>
        &lt;td>34&lt;/td>
        &lt;td>上海&lt;/td>
    &lt;/tr>
&lt;/table>

说明

  • <table border="1">:创建一个表格并设置边框,border="1"表示表格单元格的边框宽度为1像素。
  • <tr>:定义一行数据或表头。
  • <th>:定义列标题,表头内容通常加粗并居中对齐。
  • <td>:定义数据单元格。

输出结果会是一个包含姓名、年龄和城市的表格,表头部分为粗体字,数据则按行显示。


2. 表格属性和布局

a. border 属性

border 属性用于定义表格的边框宽度。没有定义 border 属性时,表格会没有边框。

&lt;table border="2"> &lt;!-- 设置较粗的边框 -->
    &lt;tr>
        &lt;th>姓名&lt;/th>
        &lt;th>年龄&lt;/th>
        &lt;th>城市&lt;/th>
    &lt;/tr>
    &lt;tr>
        &lt;td>张三&lt;/td>
        &lt;td>28&lt;/td>
        &lt;td>北京&lt;/td>
    &lt;/tr>
&lt;/table>

b. cellspacing 和 cellpadding

  • cellspacing:定义单元格之间的空隙。
  • cellpadding:定义单元格内内容与单元格边框之间的内边距。
&lt;table border="1" cellspacing="5" cellpadding="10">
    &lt;tr>
        &lt;th>姓名&lt;/th>
        &lt;th>年龄&lt;/th>
        &lt;th>城市&lt;/th>
    &lt;/tr>
    &lt;tr>
        &lt;td>张三&lt;/td>
        &lt;td>28&lt;/td>
        &lt;td>北京&lt;/td>
    &lt;/tr>
&lt;/table>

  • cellspacing="5":单元格之间有 5 像素的空隙。
  • cellpadding="10":单元格内的内容与边框之间有 10 像素的内边距。

c. colspan 和 rowspan

  • colspan:合并多个列。
  • rowspan:合并多个行。
&lt;table border="1">
    &lt;tr>
        &lt;th colspan="2">姓名与城市&lt;/th>
        &lt;th>年龄&lt;/th>
    &lt;/tr>
    &lt;tr>
        &lt;td rowspan="2">张三&lt;/td>
        &lt;td>北京&lt;/td>
        &lt;td>28&lt;/td>
    &lt;/tr>
    &lt;tr>
        &lt;td>上海&lt;/td>
        &lt;td>34&lt;/td>
    &lt;/tr>
&lt;/table>

  • colspan="2":将“姓名与城市”标题跨越两列。
  • rowspan="2":将张三的姓名单元格合并为两行。

3. 表格样式和 CSS

通过 CSS,我们可以对 HTML 表格进行更加灵活的样式控制,比如表格的边框、背景色、字体等。

a. 基础样式示例

&lt;table style="border-collapse: collapse; width: 100%;">
    &lt;tr style="background-color: #f2f2f2;">
        &lt;th>姓名&lt;/th>
        &lt;th>年龄&lt;/th>
        &lt;th>城市&lt;/th>
    &lt;/tr>
    &lt;tr>
        &lt;td>张三&lt;/td>
        &lt;td>28&lt;/td>
        &lt;td>北京&lt;/td>
    &lt;/tr>
    &lt;tr>
        &lt;td>李四&lt;/td>
        &lt;td>34&lt;/td>
        &lt;td>上海&lt;/td>
    &lt;/tr>
&lt;/table>

  • border-collapse: collapse;:去掉单元格之间的空隙,合并边框。
  • background-color: #f2f2f2;:设置表头的背景色。

b. 更复杂的表格样式

&lt;style>
    table {
        width: 100%;
        border-collapse: collapse;
    }
    th, td {
        padding: 12px;
        text-align: center;
        border: 1px solid #ddd;
    }
    th {
        background-color: #4CAF50;
        color: white;
    }
    tr:nth-child(even) {
        background-color: #f2f2f2;
    }
    tr:hover {
        background-color: #ddd;
    }
&lt;/style>

&lt;table>
    &lt;tr>
        &lt;th>姓名&lt;/th>
        &lt;th>年龄&lt;/th>
        &lt;th>城市&lt;/th>
    &lt;/tr>
    &lt;tr>
        &lt;td>张三&lt;/td>
        &lt;td>28&lt;/td>
        &lt;td>北京&lt;/td>
    &lt;/tr>
    &lt;tr>
        &lt;td>李四&lt;/td>
        &lt;td>34&lt;/td>
        &lt;td>上海&lt;/td>
    &lt;/tr>
&lt;/table>

  • tr:nth-child(even):给偶数行添加背景颜色。
  • tr:hover:鼠标悬停在行上时,行的背景颜色变为 #ddd

4. 表格的高级用法

a. 表格嵌套

你可以将一个表格嵌套在另一个表格的单元格内。例如,在某一单元格中显示一个包含多个条目的子表格。

&lt;table border="1">
    &lt;tr>
        &lt;th>姓名&lt;/th>
        &lt;th>年龄&lt;/th>
        &lt;th>地址&lt;/th>
    &lt;/tr>
    &lt;tr>
        &lt;td>张三&lt;/td>
        &lt;td>28&lt;/td>
        &lt;td>
            &lt;table border="1">
                &lt;tr>
                    &lt;td>北京&lt;/td>
                    &lt;td>朝阳区&lt;/td>
                &lt;/tr>
            &lt;/table>
        &lt;/td>
    &lt;/tr>
&lt;/table>

b. 表格与表单的结合

表格通常与表单元素一起使用,用于展示和编辑数据。

&lt;form>
    &lt;table border="1">
        &lt;tr>
            &lt;th>姓名&lt;/th>
            &lt;td>&lt;input type="text" name="name">&lt;/td>
        &lt;/tr>
        &lt;tr>
            &lt;th>年龄&lt;/th>
            &lt;td>&lt;input type="text" name="age">&lt;/td>
        &lt;/tr>
        &lt;tr>
            &lt;th>城市&lt;/th>
            &lt;td>&lt;input type="text" name="city">&lt;/td>
        &lt;/tr>
    &lt;/table>
    &lt;input type="submit" value="提交">
&lt;/form>


5. 总结

HTML 表格是一种用于展示结构化数据的强大工具。通过合理使用表格标签、CSS 样式以及其他属性(如 colspanrowspan),你可以创建简洁、易于理解的表格布局。

  • 表格常用于展示各种形式的数据,如财务数据、时间表、用户信息等。
  • 通过结合 CSS,你可以对表格的外观进行细致的定制和优化。
  • 使用表格时,应避免滥用,尤其是在布局中,尽量避免使用表格来进行页面布局设计,表格应当仅用于展示数据。

如果你有任何问题或者需要更详细的示例,随时告诉我!