You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何HTML嵌套表格的border-collapse属性未生效?

问题原因及解决办法

你只给表格设置了border-collapse: collapse;,但这个属性仅负责让相邻单元格的边框合并,并没有给表格的表头()和单元格()添加实际的边框样式——没有边框样式,自然看不到内部的线条。

要显示内部边框,你需要给所有表格的和加上border属性。下面是修改后的代码:

<table style="border-collapse: collapse;">
    <tr>
        <th style="border: 1px solid #000;">Existing data</th>
        <th style="border: 1px solid #000;">New table</th>
    </tr>
    <tr>
        <td style="border: 1px solid #000;">
            <!-- Nested Table 1 -->
            <table style="border-collapse: collapse;">
                <tr>
                    <th style="border: 1px solid #000;">Hostname</th>
                    <th style="border: 1px solid #000;">IP</th>
                    <th style="border: 1px solid #000;">MAC</th>
                </tr>
                <tr>
                    <td style="border: 1px solid #000;">ftp01</td>
                    <td style="border: 1px solid #000;">10.1.1.4</td>
                    <td style="border: 1px solid #000;">...01</td>
                </tr>
                <tr>
                    <td style="border: 1px solid #000;">www01</td>
                    <td style="border: 1px solid #000;">10.1.1.5</td>
                    <td style="border: 1px solid #000;">...02</td>
                </tr>
            </table>
        </td>
        <td style="border: 1px solid #000;">
            <!-- Nested Table 2 -->
            <table style="border-collapse: collapse;">
                <tr>
                    <th style="border: 1px solid #000;">IP</th>
                    <th style="border: 1px solid #000;">MAC</th>
                    <th style="border: 1px solid #000;">Owner</th>
                </tr>
                <tr>
                    <td style="border: 1px solid #000;">10.1.1.4</td>
                    <td style="border: 1px solid #000;">...bb</td>
                    <td style="border: 1px solid #000;">alice</td>
                </tr>
                <tr>
                    <td style="border: 1px solid #000;">10.1.1.6</td>
                    <td style="border: 1px solid #000;">...cc</td>
                    <td style="border: 1px solid #000;">bob</td>
                </tr>
                <tr>
                    <td style="border: 1px solid #000;">10.1.1.7</td>
                    <td style="border: 1px solid #000;">...dd</td>
                    <td style="border: 1px solid #000;">chris</td>
                </tr>
                <tr>
                    <td style="border: 1px solid #000;">10.1.1.4</td>
                    <td style="border: 1px solid #000;">...ee</td>
                    <td style="border: 1px solid #000;">doug</td>
                </tr>
            </table>
        </td>
    </tr>
</table>

如果觉得内联样式太繁琐,也可以用CSS选择器统一设置:

table, table th, table td {
    border: 1px solid #000;
    border-collapse: collapse;
}

这样所有表格的单元格都会自动带上边框,同时合并相邻边框。

内容的提问来源于stack exchange,提问作者Nosail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:25:06