我正在尝试创建一个表,其第一列是固定宽度,其第二列收缩尽可能小以适合其文本,其余列将平均分割所有剩余空间,无论其内容如何。
这是一个小小的演示,我到目前为止的尝试:http://jsfiddle.net/B8LnP/
有关输出的两件事要注意:
.equal
类的宽度设置为小值和大值,但都没有达到目标。<table>
<tr>
<td class="fixed">fixed</td>
<td class="small">small_as_possible</td>
<td class="equal">split remaining</td>
<td class="equal">equally</td>
</tr>
</table>
<!-- another instance to make sure the columns align -->
<table>
<tr>
<td class="fixed">fixed</td>
<td class="small">small_as_possible</td>
<td class="equal">equally</td>
<td class="equal">split remaining</td>
</tr>
</table>
table { width: 95%; margin: 0 auto}
td {border: 1px solid}
.fixed {width: 200px}
.small {width: 1px}
.equal { /* what to put here? */ }
答案 0 :(得分:3)
这将为您完成工作:
CSS:
table { width: 95%; margin: 0 auto; table-layout:fixed;}
td {border: 1px solid}
.fixed {width: 200px;}
.small {width: 120px;}
.equal {width: 50%;}
演示: http://jsfiddle.net/B8LnP/1/
那么会发生什么?
请注意table-layout:fixed;
。使用width
设置table
(包含元素的百分比,如您的情况或固定数量),会发生的情况是,首先从表的宽度中扣除固定宽度列,然后表的剩余宽度在剩余的列之间分开,这些列具有百分比宽度或根本没有设置宽度(与auto相同)。
此外,如果所有剩下的列(除了宽度固定的列)具有百分比宽度,但总百分比不等于100%,剩余百分比自动分布在固定宽度列中,因此请确保百分比加起来为100%。
答案 1 :(得分:-3)
你不能用类做,你需要使用colspan属性。