我有一张桌子,我想在TD上设置30px的固定宽度,问题是当TD中的文本太长时,TD会伸展到30px以上.Overflow:hidden在TD上也不起作用,我需要一些方法来隐藏溢出的文本并保持TD宽度30px.

<table cellpadding="0" cellspacing="0">
    <tr>
        <td>first</td><td>second</td><td>third</td><td>forth</td>
    </tr>
    <tr>
        <td>first</td><td>this is really long</td><td>third</td><td>forth</td>
    </tr>
</table>

推荐答案

它不是最漂亮的CSS,但我让它起作用了:

table td {
    width: 30px;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
}

有省略号和无省略号的示例:

body {
    font-size: 12px;
    font-family: Tahoma, Helvetica, sans-serif;
}

table {
    border: 1px solid #555;
    border-width: 0 0 1px 1px;
}
table td {
    border: 1px solid #555;
    border-width: 1px 1px 0 0;
}

/* What you need: */
table td {
    width: 30px;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
}

table.with-ellipsis td {   
    text-overflow: ellipsis;
}
<table cellpadding="2" cellspacing="0">
    <tr>
        <td>first</td><td>second</td><td>third</td><td>forth</td>
    </tr>
    <tr>
        <td>first</td><td>this is really long</td><td>third</td><td>forth</td>
    </tr>
</table>

<br />

<table class="with-ellipsis" cellpadding="2" cellspacing="0">
    <tr>
        <td>first</td><td>second</td><td>third</td><td>forth</td>
    </tr>
    <tr>
        <td>first</td><td>this is really long</td><td>third</td><td>forth</td>
    </tr>
</table>

Css相关问答推荐

在Angular mat-drawer组件中防止在mat-drawer-innercontainer中添加滚动条

无限交替css动画之间的未知延迟

实现前景渐变到背景的平滑混合

如何在react 路由中设置活动类?

将鼠标悬停在具有效果的元素上

创建一个CSS动画的对角线线条.

在具有特定类的 td 之后,如何编写适用于该行上所有 td 元素的表行的 CSS Select 器?

我怎样才能让我所有的网格列的高度等于最短列的高度

Nativewind 的某些样式不适用于本机 (Android),但它们适用于网络

通过css修改样式shadowroot元素

CSS网格使sibling 项目拉伸

带有 gatsby-plugin-image 的 bootstrap 卡 ImgOverlay 未按预期调整大小

如何设置表格单元格的最大高度?

如何在没有填充区域的情况下背景化 div

将文本放在 div 的底部

如何强制显示垂直滚动条?

如何在 CSS 中绘制一个圆形扇区?

如何在 CSS 中延迟 :hover 效果?

Bootstrap 4:导航内的多级下拉菜单

如何将文本向左旋转 90 度并根据 html 中的文本调整单元格大小