【发布时间】:2018-07-07 17:28:32
【问题描述】:
我相信width: 1px; white-space: nowrap; 的伎俩以前有效,但现在似乎不再有效了?参考。 CSS table column autowidth(那里的表格也是固定布局的,但那是在 2011 年)
这里是 HTML 和 CSS:
table {
table-layout: fixed;
width: 100%;
}
td,
th {
border: 1px solid #D5D5D5;
padding: 15px;
}
.auto {
width: 1px;
white-space: nowrap;
}
<table cellspacing="0" cellpadding="0" border="0">
<thead>
<tr>
<th>Column 1 even width</th>
<th>Column 2 even width</th>
<th>Column 3 even width</th>
<th class="auto">Auto</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td class="auto">Data4</td>
</tr>
</tbody>
</table>
我在下面的 jsfiddle 中也有一个示例设置:
如何根据内容使最后一列自动宽度,而其他列尊重table-layout: fixed?
注意:上面给出的三列只是一个例子。因此,请不要硬编码答案以使每列宽度为 100/3%。这是一个一般性问题,答案应该适合宽度均匀的 n 列,但最后一列会根据内容自动宽度。
【问题讨论】:
-
删除
table-layout: fixed?根据您的小提琴,我不确定这对您有什么好处... -
@billynoah 你是什么意思?需要使列均匀分布。
-
也许我遗漏了一些东西,但我不明白为什么你需要一个固定的布局才能到达那里。并且 afaik
width: 1px技巧只适用于自动布局。这不是你所追求的吗? jsfiddle.net/hCkch/22 -
看到这个:jsfiddle.net/hCkch/23,你会看到其他三列有不同的宽度。然后尝试加回固定布局看看。
标签: html css html-table