css - 如何在边框间距设置为单独的 tr 上有一个连续的边框底部?

标签 css

我需要一个表格,其中的行具有连续的底部边框,但表格单元格的背景应该是中间有一个垂直的空白区域。

问题是,在设置边框间距的同时,我无法让边框跨越整行。如何关闭边框但保留白色间隙?

这是我的标记:

<table>
  <thead>
    <tr>
      <th>Lorem ipsum</th>
      <th>Lorem ipsum</th>
      <th>Lorem ipsum</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
    </tr>
    <tr>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
    </tr>
    <tr>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
      <td>Lorem ipsum dolor sit amet, consetetur sadipscing elitr</td>
    </tr>
  </tbody>
</table>

我的 CSS 定义了以下样式:

table {
  border-collapse: separate;
  border-spacing: 1.5rem 0;
  tr {
    border-bottom: 1px solid #dcdcdc; // This is what I need
  }
  td {
    padding: 1.5rem;
    background-color: #fafafa;
    border-bottom: 1px solid #dcdcdc; // Or this...
  }
}

最佳答案

你可以使用:before伪元素:

table {
  border-collapse: separate;
  border-spacing: 1.5rem 0;

  td {
    padding: 1.5rem;
    background-color: #fafafa;
    border-bottom: 1px solid #dcdcdc; 
    position: relative;

    &:not(:first-child):before {
      content: '';
      height: 1px; 
      width: 25px;
      background: #dcdcdc;
      display: block;
      position: absolute;
        left: -25px;
        bottom: -1px;
    }
  }
}

DEMO

关于css - 如何在边框间距设置为单独的 tr 上有一个连续的边框底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42984309/

相关文章:

html - 使用 em 调整字体大小 - 如果 base-size = 0 怎么办?

html - 如何在CSS中水平对齐div

html - 如何让四个图像或 div 填满屏幕

html - html div 堆叠在一起的对齐问题

css - 如何重置 Chrome 开发工具 CSS 样式过滤器?

CSS 间距问题

css - 未呈现 Internet Explorer 'input:checked + label:before' 样式

html - 悬停时自动滚动图像高于容器(更高的图像)

html - 如何将两个 div 放在同一行上并让它们响应?

php - ajax将变量加载到div中,将var传递给php