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

标签 html css html-table border

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

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;
}

最佳答案

如果你正在做我认为你正在尝试做的事情,你将需要更多类似这样的东西:

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 Demo

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

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

关于html - 如何仅在表格内应用边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55075550/

相关文章:

javascript - 在选项卡的单击功能上初始化猫头鹰轮播

Javascript 在标签上添加 css 类

javascript - 如果具有样式绝对位置的 div 重叠在其上,如何阻止在特定位置可编辑的内容

jquery - 使用 jQuery 使选择下拉菜单成为必需

javascript - 在我的 html 页面上添加阅读更多内容会产生奇怪的行为

javascript - 滚动到特定 div 或 id 后触发事件

jQuery 可拖动表格元素

css - 如何在 iPad/iPhone 链接中实现悬停状态?

javascript - 在特定时间后隐藏表中的 tr

javascript - 根据表格列中的复选框列表对 html 表格进行排序