【问题标题】:Space between table rows with black border带有黑色边框的表格行之间的空间
【发布时间】:2021-04-03 03:58:20
【问题描述】:

我有一张表格,我希望在其中的行之间留有空间,并且每行周围有一个黑色边框

.table {
  border-collapse: collapse !important;
  border-spacing: 0 5px !important;
}

.table tr {
  border: 1px solid #000 !important;
}
<table class="table table-borderless">
  <tbody>
    <tr>
      <td>Test</td>
      <td>Test</td>
      <td>Test</td>
      <td><a href="#"><i class="fas fa-edit"></i></a></td>
      <td><a href="#"><i class="fas fa-trash"></i></a></td>
    </tr>
    <tr>
      <td>Test</td>
      <td>Test</td>
      <td>Test</td>
      <td><a href="#"><i class="fas fa-edit"></i></a></td>
      <td><a href="#"><i class="fas fa-trash"></i></a></td>
    </tr>
  </tbody>
</table>
  • border-collapse = collapse : 每行都有黑色边框,但行之间没有空格

  • border-collapse = separate : 是行之间的空间,但每行周围没有黑色边框

如果我从 css 中删除 border-collapse,它的行为与第一张图像完全相同。如何将两者结合在一起?

【问题讨论】:

    标签: html border-spacing border-collapse


    【解决方案1】:

    这样可以吗?

    .table {
      border-collapse: collapse !important;
      border-spacing: 0 5px !important;
    }
    
    .table tr {
      border: 1px solid #000;
    }
    
    .spacer { border-left:none !important;  height:20px }
    <table class="table table-borderless">
      <tbody>
        <tr>
          <td>Test</td>
          <td>Test</td>
          <td>Test</td>
          <td><a href="#"><i class="fas fa-edit"></i></a></td>
          <td><a href="#"><i class="fas fa-trash"></i></a></td>
        </tr>
        <tr class="spacer"><td colspan="4"></td></tr>
        <tr>
          <td>Test</td>
          <td>Test</td>
          <td>Test</td>
          <td><a href="#"><i class="fas fa-edit"></i></a></td>
          <td><a href="#"><i class="fas fa-trash"></i></a></td>
        </tr>
      </tbody>
    </table>

    【讨论】:

    • 是的,它奏效了。我不得不在spacer 类中将border-left 替换为border。谢谢