HTML 表格单元格间距 - 仅在单元格之间,没有外部单元格

标签 html css

我正在尝试将单元格间距添加到 html 表格。

我想在没有外部间距的单元格之间添加间距。

我的问题是,cellspacing html 属性和 border-spacing CSS 属性也在外部添加了间距。

cellspacing image

我想放置没有红色(外部)部分的单元格间距 - 只有黄色部分。

这可能吗?

编辑:

  1. 图像是手工绘制的 (MS-Paint),仅用于说明。
  2. 着色是为了调试 - 这样人们就可以看到边界和间距在哪里。

我找到了一个迂回的解决方案,包括一些额外的 div-s:

.inner-spacing {
  border-collapse: collapse;
  background-color: yellow;
  border: 2px solid black;
}
.inner-spacing td {
  padding: 0;
}
.inner-spacing td > div {
  width: 60px;
  height: 60px;
  background-color: green;
  border: 2px solid black;
  margin: 10px;
}
.inner-spacing tr:first-child > td > div {
  margin-top: 0px;
}
.inner-spacing tr:last-child > td > div {
  margin-bottom: 0px;
}
.inner-spacing tr > td:first-child > div {
  margin-left: 0px;
}
.inner-spacing tr > td:last-child > div {
  margin-right: 0px;
}
<table class="inner-spacing">
  <tr>
    <td>
      <div/>
    </td>
    <td>
      <div/>
    </td>
  </tr>
  <tr>
    <td>
      <div/>
    </td>
    <td>
      <div/>
    </td>
  </tr>
</table>

总而言之,我希望表格具有边框间距,表格边框折叠到单元格上(无间距)。

我想知道是否还有其他解决方案 - 所以欢迎任何新的解决方案!

最佳答案

这会有点棘手...您需要设置 display:blockborder-spacing:10px 来设置单元格之间的间距和相同的负数 margin:-10px 去除外间距

堆栈片段

table {
  font: bold 13px Verdana;
  background: black;
  margin: 30px auto;
  border-spacing: 0;
}

table td {
  padding: 30px;
  background: red;
  color: #fff;
}

table tbody {
  margin: -10px;
  display: block;
  border-spacing: 10px;
}
<table>
  <tr>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td>4</td>
  </tr>
</table>

关于HTML 表格单元格间距 - 仅在单元格之间,没有外部单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455768/

相关文章:

html - 仅限 Bootstrap-Timepicker

html - CSS - 相对定位的 div 重叠

jquery - CSS 问题 "even height to all the child element in a container"

html - 使用 twitter bootstrap 的响应式 html

javascript - jquery 的文本输入不起作用

javascript - 刷新页面,然后转到特定的div

javascript - 使用一个 AJAX html 结果填充多个 div 标签

css - 如果父级设置了宽度,IE7 图像将不会 self 约束

php - CSS 为列表中的最后一个子项设置样式

css - css 中图形边框的简单布局?如何停止未对齐的边框图形?