如何最小化表格列的宽度(展开一列)?

时间:2014-01-05 06:46:09

标签: css

我有一个简单的两列表,左边是行号,右边是代码。我希望左侧是没有剪裁的最小尺寸,右侧是填充剩余区域(整个表格应该是100%宽度)。

<table>
  <tr>
     <td><pre>line numbers</pre></td>
     <td><pre>code</pre></td>
  </tr>
</table>

问题在于,如果右侧的内容不够大,额外的空间也将平衡到左侧(行号列变得比它需要的更宽)。如何强制所有额外空间进入右栏?

4 个答案:

答案 0 :(得分:8)

只需将每行中的第二个td设置为width: 100%; ...如果表格单元格的宽度超过容器,则表格单元格无法分解为新行,因此它只会强制所有内容都适合尽可能贴近你的风格。因此,在一列上设置100%宽度,而在另一列上没有设置将使该列中的单元格尽可能宽。

见小提琴: http://jsfiddle.net/tvEY3/

答案 1 :(得分:6)

另一种方法:

td:nth-child(2) { width: 100%; }

JSFiddle:http://jsfiddle.net/SabdielRivera/n84xf/5/

答案 2 :(得分:5)

另一种解决方案是:

td:first-child { width: 1% }

它不会裁剪您的内容,但会使第一列尽可能小

答案 3 :(得分:1)

您可以将td twidth设置为width:100%以达到您的需要。这是一个fiddle