【发布时间】:2015-01-10 23:09:12
【问题描述】:
这是一个假设的例子:
table, thead, tbody, tr { width: 100%; }
table { table-layout: fixed }
table > thead > tr > th { width: auto; }
<table>
<thead>
<tr>
<th>Column A</th>
<th>Column B</th>
<th>Column C</th>
<th class="absorbing-column">Column D</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data A.1 lorem</td>
<td>Data B.1 ip</td>
<td>Data C.1 sum l</td>
<td>Data D.1</td>
</tr>
<tr>
<td>Data A.2 ipsum</td>
<td>Data B.2 lorem</td>
<td>Data C.2 some data</td>
<td>Data D.2 a long line of text that is long</td>
</tr>
<tr>
<td>Data A.3</td>
<td>Data B.3</td>
<td>Data C.3</td>
<td>Data D.3</td>
</tr>
</tbody>
</table>
我想让每一列的宽度适合其内容大小,并将剩余空间留给具有“吸收列”类的一列,使其看起来像这样:
| HTML | 100%
| body | 100%
| table | 100%
|------------------------------------------------------------------------|
| Column A | Column B | Column C | Column D |
|------------------------------------------------------------------------|
| Column A | Column B lorem | Column C | Column D |
| Column A | Column B | Column C | Column D |
| Column A | Column B | Column C | Column D |
|------------------------------------------------------------------------|
你看,由于第一行有多余的数据,B列比其他列大一点,但D列总是用完剩余的空间。
我玩弄了 max-width、min-width、auto 等,但不知道如何使它工作。
换句话说,我希望所有列都采用它们需要的任何宽度,而不是更多,然后我希望列 D 用完 100% 宽度表内的所有剩余空间。
【问题讨论】:
标签: html css html-table width