2011-11-22 163 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