在我的表格中,我设置列中第一个单元格的宽度为100px。 但是,当此列中的某个单元格中的文本太长时,列的宽度就会超过100px。如何禁用此扩展?
当前回答
您需要在相应的CSS中编写这些内容
table-layout:fixed;
其他回答
凯旋的想法是对的。这是正确的代码…
<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>
我发现凯旋的答案使用vw而不是px更好,就像这样:
< td > < div =“宽度:10大众风格 " >...............</ div > < / td >
这是我调整列宽度所需要的唯一样式
根据我在这里的回答,也可以使用一个表头(可以是空的),并为每个表头单元应用相对宽度。表体中所有单元格的宽度将与其列头的宽度一致。例子:
HTML
<table>
<thead>
<tr>
<th width="5%"></th>
<th width="70%"></th>
<th width="15%"></th>
<th width="10%"></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Some text...</td>
<td>May 2018</td>
<td>Edit</td>
</tr>
<tr>
<td>2</td>
<td>Another text...</td>
<td>April 2018</td>
<td>Edit</td>
</tr>
</tbody>
</table>
CSS
table {
width: 600px;
border-collapse: collapse;
}
td {
border: 1px solid #999999;
}
查看结果
或者,按照Hyathin的回答建议使用colgroup。
我在单元格中使用::after元素,我想设置一个最小宽度,而不管当前的文本,如下所示:
.cell::after {
content: "";
width: 20px;
display: block;
}
我不需要在父表上设置宽度,也不需要使用表布局。
设置:
style="min-width:100px;"
为我工作。