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

cho*_*bo2 7 html css html-table ellipsis flexbox

<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>
Run Code Online (Sandbox Code Playgroud)

我想截断那个很长的文本.

.container {
  margin-top: 20px;
  width: 90%;
  display: flex;
  .left-area {
    flex: 1 1 20%;
    .container2 {
      flex: 1 1 20%;
      table {
        width: 100%;
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我试着用这个css td cell

  white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
Run Code Online (Sandbox Code Playgroud)

Mic*_*l_B 7

丢失的钥匙是table-layout: fixed.

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

td {
  width: 50%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)
<table>
  <tbody>
    <tr>
      <td>
        48148581581581858158158iffjafjadjfjafdjafdjfjadfjdjafdjafdjajdfjadfjdafjdajfajfdjaf
      </td>
      <td>1/1/0001</td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

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

使用table-layout: fixed,您可以定义第一行上单元格的宽度(并因此设置表格的列宽)。width在这种情况下,会考虑和属性overflow,从而允许省略函数发挥作用。

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