如何在表格单元格中使用省略号?

时间:2018-11-27 00:11:49

标签: html css html-table flexbox ellipsis

<div className="container">
  <div className="left-area">
    <div className="container2">
      <table>
        <tbody>
          <tr>
            <td>
              48148581581581858158158iffjafjadjfjafdjafdjfjadfjdjafdjafdjajdfjadfjdafjdajfajfdjaf
            </td>
            <td>1/1/0001</td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</div>

我想截断很长的文本。

.container {
  margin-top: 20px;
  width: 90%;
  display: flex;
  .left-area {
    flex: 1 1 20%;
    .container2 {
      flex: 1 1 20%;
      table {
        width: 100%;
      }
    }
  }
}

我尝试在td cell上使用此CSS

  white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

1 个答案:

答案 0 :(得分:4)

缺少的密钥是table-layout: fixed

table {
  width: 100%;
  table-layout: fixed;
}

td {
  width: 50%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
<table>
  <tbody>
    <tr>
      <td>
        48148581581581858158158iffjafjadjfjafdjafdjfjadfjdjafdjafdjajdfjadfjdafjdajfajfdjaf
      </td>
      <td>1/1/0001</td>
    </tr>
  </tbody>
</table>

通过table-layout: auto(默认设置),浏览器使用自动布局算法来检查内容大小以设置单元格(以及列)的宽度。 在这种情况下,widthoverflow属性将被忽略,省略号将不起作用。

使用table-layout: fixed,您可以定义第一行中单元格的宽度(因此,可以设置表格的列宽)。 在这种情况下,将使用widthoverflow属性,从而允许省略号功能起作用。

https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout