2011-11-22 164 views
0

目前,我有一个表,看起来像设置列宽

<table> 
    <tr> 
     <th>Submitted</th> 
     <th>Title</th> 
     <th>Revisions</th> 
    </tr> 
    <tr> 
     <td>Nov. 22, 2011, 2:14 a.m.</td> 
     <td><a href="/essays/edit/6">Hello</a></td> 
     <td>2</td> 
    </tr> 
</table> 

我需要Title列要尽可能宽,而其他列刚够遏制其内容。我还需要桌子来填充它的容器(100%宽度)。
这是如何实现的?

回答

1

这可能是一个快速和肮脏的黑客,但你完全可以使用下面的CSS:

td, th { 
    white-space: nowrap; /* to prevent splitting content into several lines */ 
} 
th:nth-of-type(2) { 
    width: 100%; 
} 

没有办法那里面的表格单元格可能会超过其总宽度,所以它可能工作。

或者,您可以使用JavaScript动态计算中间列宽或设置固定的单元格宽度。

+0

它使其他列太窄,并将内容推入下一行。不好看。 – thoaionline

+0

您可以随时在CSS或“white-space:nowrap;”中设置“最小宽度”以防止将内容注入下一行。 –

+0

放置“白色空间:nowrap;”在第一行将无助于休息。把它放在每一行都违反了DRY。我觉得最小宽度不能很好地工作,因为列宽可能在浏览器和表格中变化。我正在寻找所有表格的通用解决方案。 – thoaionline