下表应以给定宽度(以像素为单位)调整所有列的大小:

table {
  border-collapse: collapse;
  table-layout: fixed;
}

td {
  border: 1px solid black;
  overflow: hidden;
}
<table>
  <col style="width: 50px">
  <col style="width: 40px">
  <col style="width: 30px">
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
  </tr>
  <tr>
    <td>4</td>
    <td>5</td>
    <td>6</td>
  </tr>
  <tr>
    <td>7</td>
    <td>8</td>
    <td>supersuperlooooongcontent</td>
  </tr>
</table>

然而,尽管在td个元素上设置了overflow: hidden,但长文本会使整个列展开.

推荐答案

除了table-layout: fixed;之外,您还需要将width设置为table元素,才能获得所需的行为.见https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout

单元格使用Overflow属性来确定是否剪裁任何溢出的内容but only if the table has a known width;否则,它们不会使单元格溢出.

table {
  border-collapse: collapse;
  table-layout: fixed;
  width:120px;

}

td {
  border: 1px solid black;
  overflow: hidden;
}
<table>
  <col style="width: 50px">
  <col style="width: 40px">
  <col style="width: 30px">
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
  </tr>
  <tr>
    <td>4</td>
    <td>5</td>
    <td>6</td>
  </tr>
  <tr>
    <td>7</td>
    <td>8</td>
    <td>supersuperlooooongcontent</td>
  </tr>
</table>

Html相关问答推荐

如何在Vim中删除Html标签?

MatSnackBar: colored颜色 不起作用

窗口视图之外的下拉菜单位置

如何创建带有粘性列和标题的网格?

在悬停时应用文本装饰

Flexbox在元素之间造成了太大的差距

当文本添加到元素中时,将元素拉到页面上

如何将功能附加到嵌入式药剂中的按钮?

元素在向x提供溢出时被隐藏

多次使用组件时计数Angular 14中嵌套数组的指令

UL 的行为就像它不属于任何类别

无法在 CSS 中将 h1 标签居中

这两个CSS中的网格居中对齐内部盒子有什么区别?

css 网格创建空行和列

是否可以为长 huxtable 固定头部?

无法使用 flexbox 裁剪图像

有没有办法让 textarea 在调整大小时不显示 CSS 转换?

如何将 img 元素定位到特定位置?

禁用的 Select 标签没有在 chrome 上的 css 中指定的 colored颜色

水平滚动框不显示所有元素