在我的表格中,我设置列中第一个单元格的宽度为100px。 但是,当此列中的某个单元格中的文本太长时,列的宽度就会超过100px。如何禁用此扩展?


当前回答

您需要在相应的CSS中编写这些内容

table-layout:fixed;

其他回答

我发现凯旋的答案使用vw而不是px更好,就像这样:

< td > < div =“宽度:10大众风格 " >...............</ div > < / td >

这是我调整列宽度所需要的唯一样式

如果您需要一个或多个固定宽度的列,而其他列需要调整大小,请尝试将min-width和max-width设置为相同的值。

我在单元格中使用::after元素,我想设置一个最小宽度,而不管当前的文本,如下所示:

.cell::after {
    content: "";
    width: 20px;
    display: block;
}

我不需要在父表上设置宽度,也不需要使用表布局。

凯旋的想法是对的。这是正确的代码…

<style type="text/css">
  th.first-col > div, 
  td.first-col > div {
    overflow:hidden;
    white-space:nowrap;
    width:100px
  }
</style>

<table>
  <thead><tr><th class="first-col"><div>really long header</div></th></tr></thead>
  <tbody><tr><td class="first-col"><div>really long text</div></td></tr></tbody>
</table>

如果对表的访问受限,那么使用类或内联样式可能会比较复杂。

或者你也可以瞄准每一行的第一个td和第th个子元素(也就是第一列)

当我用width测试它时,下面的规则对我有用,但由于某种原因,max-width不适用:

thead, tbody tr {
            
    display:table;
    width:100%;
    table-layout:fixed;
}

tr th:first-child, tr td:first-child {
                
    width:100px;
}