HTML 表格

839 阅读3分钟

在早期的 Web 1.0 中,表格常用于网页布局,在 Web 2.0 中,这种方式已经被抛弃了,表格仅用于显示元素。

一、表格的基本结构

一个表格由三部分组成:表格、行、单元格,基本用法如下:

    <table>
        <tr>
            <td>第一行第一列</td>
            <td>第一行第二列</td>
        </tr>
        <tr>
            <td>第二行第一列</td>
            <td>第二行第二列</td>
        </tr>
    </table>

其中,tr 即 table row,指表格的行;td 即 table data cell,指表格的单元格;上述代码在浏览器中显示为:

第一行第一列第一行第二列
第二行第一列第二行第二列

二、表格的完整结构

表格的完整结构还包括标题(caption)和表头(th)等。

1、表格标题 caption

使用方式:<caption> 表格标题 </caption> ,一个表格只能有一个标题,在默认情况下,标题位于表格的第一行。

2、表头单元格 th

使用方式:<th> </th>,th 即 table header cell,有如下代码:

       <table>
            <caption>表格标题</caption>
            <tr>
                <th>表头单元格1</th>
                <th>表头单元格2</th>
            </tr>
            <tr>
                <td>第一行第一列</td>
                <td>第一行第二列</td>
            </tr>
            <tr>
                <td>第二行第一列</td>
                <td>第二行第二列</td>
            </tr>
        </table>

在浏览器中显示为:

表格标题
表头单元格1表头单元格2
第一行第一列第一行第二列
第二行第一列第二行第二列

三、表格语义化

为了更进一步对表格进行语义化,HTML 引入了 thead、tbody、tfoot 标签,即表头,表身,表脚三部分,通过使用这些标签,表格的语义更加良好,结构更加清晰,更具有可读性和可维护性。 有如下代码:

        <table>
            <caption>表格标题</caption>
            <thead>
                <tr>
                    <th>表头单元格1</th>
                    <th>表头单元格2</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>第一行第一列</td>
                    <td>第一行第二列</td>
                </tr>
                <tr>
                    <td>第二行第一列</td>
                    <td>第二行第二列</td>
                </tr>
            </tbody>
            <tfoot>
                <tr>
                    <td>第一列汇总</td>
                    <td>第二列汇总</td>
                </tr>
            </tfoot>
        </table>

在浏览器中显示为:

表格标题
表头单元格1表头单元格2
第一行第一列第一行第二列
第二行第一列第二行第二列
第一列汇总第二列汇总

tfoot 常用于显示统计数据,根据实际使用需求选择是否使用。

这些语义化标签对浏览器的显示效果没有影响,但语义化标签除了能够增强代码的可读性,还有一个重要的作用,可以配合 CSS 来进行分块样式控制。

语义化的目的:在需要的地方,用正确的标签。(再次强调)

四、单元格的合并

在表格的实际使用中,常常需要将多个单元格合并成一个单元格,这就需要使用合并行或合并列。

1、合并行:rowspan 属性

使用方式:<td rowspan="num"> </td>,指将纵向的几个单元格合并为一行(rowspan 可以理解为“行空间”,也就是该单元格占了几行)。

有如下代码:

        <table>
            <caption>表格标题</caption>
            <thead>
                <tr>
                    <th>表头单元格1</th>
                    <th>表头单元格2</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td rowspan="2">第一列</td>
                    <td>第一行第二列</td>
                </tr>
                <tr>
                    <td>第二行第二列</td>
                </tr>
            </tbody>
            <tfoot>
                <tr>
                    <td>第一列汇总</td>
                    <td>第二列汇总</td>
                </tr>
            </tfoot>
        </table>

在浏览器中显示为:

表格标题
表头单元格1表头单元格2
第一列第一行第二列
第二行第二列
第一列汇总第二列汇总

2、合并列:colspan

使用方式:<td colspan="num"> </td> ,用于将横向的多个单元格合并为一个单元格,有如下代码:

        <table>
            <caption>表格标题</caption>
            <thead>
                <tr>
                    <th>表头单元格1</th>
                    <th>表头单元格2</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td colspan="2">第一行</td>
                </tr>
                <tr>
                    <td>第二行第一列</td>
                    <td>第二行第二列</td>
                </tr>
            </tbody>
            <tfoot>
                <tr>
                    <td>第一列汇总</td>
                    <td>第二列汇总</td>
                </tr>
            </tfoot>
        </table>

在浏览器中显示为:

表格标题
表头单元格1表头单元格2
第一行
第二行第一列第二行第二列
第一列汇总第二列汇总