在我的表格中,我设置列中第一个单元格的宽度为100px。 但是,当此列中的某个单元格中的文本太长时,列的宽度就会超过100px。如何禁用此扩展?
当前回答
根据我在这里的回答,也可以使用一个表头(可以是空的),并为每个表头单元应用相对宽度。表体中所有单元格的宽度将与其列头的宽度一致。例子:
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。
其他回答
如果您需要一个或多个固定宽度的列,而其他列需要调整大小,请尝试将min-width和max-width设置为相同的值。
我发现凯旋的答案使用vw而不是px更好,就像这样:
< td > < div =“宽度:10大众风格 " >...............</ div > < / td >
这是我调整列宽度所需要的唯一样式
您需要在相应的CSS中编写这些内容
table-layout:fixed;
我玩了一会儿,因为我搞不懂。
你需要设置单元格宽度(th或td工作,我设置两者)和设置表格布局固定。出于某种原因,单元格宽度似乎只有在设置表宽度时才会保持固定(我认为这很愚蠢,但无所谓)。
此外,将overflow属性设置为hidden也很有用,可以防止任何额外的文本从表中输出。
你也应该确保所有的边界和大小都留给CSS。
好了,这是我得到的:
表{ 边框:1px纯黑色; 表布局:固定; 宽度:200 px; } th, td { 边框:1px纯黑色; 宽度:100 px; 溢出:隐藏; } <表> < tr > < th >头1 < / th > < th >头234567895678657 < / th > < / tr > < tr > < td >数据asdfasdfasdfasdfasdf td > < / < td >数据2道明> < / < / tr > 表> < /
在JSFiddle中
这个家伙有一个类似的问题:表单元格宽度-固定宽度,换行/截断长单词
你不需要设置“fixed”-你只需要设置overflow:隐藏,因为列宽度已经设置好了。