小编典典

如何仅在表格内应用边框?

all

我想弄清楚如何只在表格内添加边框。当我做:

table {
    border: 0;
}
table td, table th {
    border: 1px solid black;
}

边框围绕整个表格以及表格单元格之间。我想要实现的是仅在表格单元格周围的表格内有边框(表格周围没有外边框)。

这是我用于表格的标记(尽管我认为这并不重要):

<table>
    <tr>
        <th>Heading 1</th>
        <th>Heading 2</th>
    </tr>
    <tr>
        <td>Cell (1,1)</td>
        <td>Cell (1,2)</td>
    </tr>
    <tr>
        <td>Cell (2,1)</td>
        <td>Cell (2,2)</td>
    </tr>
    <tr>
        <td>Cell (3,1)</td>
        <td>Cell (3,2)</td>
    </tr>
</table>

以下是我适用于大多数表格的一些基本样式:

table {
    border-collapse: collapse;
    border-spacing: 0;
}

阅读 169

收藏
2022-06-24

共1个答案

小编典典

如果您正在做我相信您正在尝试做的事情,那么您将需要更多这样的东西:

table {
  border-collapse: collapse;
}
table td, table th {
  border: 1px solid black;
}
table tr:first-child th {
  border-top: 0;
}
table tr:last-child td {
  border-bottom: 0;
}
table tr td:first-child,
table tr th:first-child {
  border-left: 0;
}
table tr td:last-child,
table tr th:last-child {
  border-right: 0;
}

jsFiddle 演示

问题是您在所有单元格周围设置了一个“完整边框”,这使得它看起来好像整个表格都有一个边框。

干杯。

编辑:有关这些伪类的更多信息可以在quirksmode上找到,而且,正如所料,您在
IE 支持方面几乎是 SOL。

2022-06-24