如何在表格单元格中制作像十字线一样的左右对角线?

时间:2019-04-10 03:35:43

标签: html css

我想要结果Like Microsoft Excell

1 个答案:

答案 0 :(得分:1)

有许多实现任务的选项。其中之一是绝对定位中的伪元素。我们在父单元格的整个区域上拉伸每个伪元素,并使用background属性绘制对角线。一个伪元素从左上角到右下角,第二个-从左下角到右上角。无论单元格的宽度或高度如何,线条都会从一角到另一角。如果需要将单元格内容放在行的顶部,则需要使用z-index属性将其放在伪元素上方。

HTML:

<table>
  <tr>
    <td class="cross">
      <span>Text</span>
    </td>
    <td>
      <span>Text</span>
    </td>
    <td class="cross">
      <span>Text</span>
    </td>
  </tr>
</table>

CSS:

td {
  border: 1px solid #222;
}

.cross span {
  position: relative;
  z-index: 2;
}

.cross {
  position: relative;
  width: 200px;
  height: 100px;
  text-align: center;
}

.cross:before,
.cross:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.cross:before {
  background: linear-gradient(to top right, transparent calc(50% - 1px), red 50%, transparent calc(50% + 1px) );
}

.cross:after {
  background: linear-gradient(to left top, transparent calc(50% - 1px), red 50%, transparent calc(50% + 1px) );
}

还有一个示例:

https://codepen.io/anon/pen/WWRqra