代码之家  ›  专栏  ›  技术社区  ›  lapots

穿过瓦丹街的线路

  •  1
  • lapots  · 技术社区  · 6 年前

    我想在桌子上划一行,看起来像被划掉的。 我试过用 text-decoration 但它只影响文本

    .v-table-row.v-table-row-highlight-red,
    .v-table-row-odd.v-table-row-highlight-red {
      background-color: #ff0000;
      white-space: pre-wrap !important;
      text-decoration: line-through;
    }
    

    如何排成一行穿过整排?

    我为这样的表设置了代码生成器

    table.setCellStyleGenerator((source, itemId, propertyId) - > {
      return "highlight-red";
    });
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Mosh Feu Alex Chen    6 年前

    你不能用一种正常的方式来做这件事,但是有一个解决办法。你可以用 box-shadow 在一个 before 伪元素。

    这样地:

    table {
      border-spacing: 0;
    }
    
    td {
      position: relative;
      border: 1px solid;
    }
    
    tr.deleted td:before {
      content: "";
      box-shadow: 0 0 0 1px #000;
      width: 100%;
      position: absolute;
      top: 50%;
    }
    <table>
      <tr class="deleted">
        <td>
          deleted row
        </td>
         <td>
          deleted row
        </td>
         <td>
          deleted row
        </td>
         <td>
          deleted row
        </td>
      </tr>
      <tr>
        <td>
          regular row
        </td>
         <td>
          regular row
        </td>
         <td>
          regular row
        </td>
         <td>
          regular row
        </td>
      </tr>
    </table>