2011-08-21 54 views
23

我有一個由3列組成的HTML表格。它具有600px的固定寬度。如何讓一個表格列填充所有備用水平空間?

<table> 
    <tr> 
    <td>Name</td> 
    <td>Qty</td> 
    <td>Actions</td> 
    </tr> 
</table> 

我想要的數量和操作列儘可能地小(保持內容的一個行)和名稱列佔用的可用空間的其餘部分。 「數量」和「操作」列的大小根據內容/字體大小而變化,因此在這種情況下固定寬度不起作用。

有沒有在HTML/CSS中做到這一點的方法?或者,這是我需要打破Javascript的?

+0

你試過用nowrap嗎? http://www.w3schools.com/tags/att_td_nowrap.asp。 請注意,該屬性已棄用,應與css一起使用,如指定的那樣 –

+0

這並不解決我的主要問題,即其他兩個單元太寬,不太窄。但是,隨着Ranta的回答,這正是我正在尋找的,謝謝 – gsteinert

回答

33

您可以在該列上應用width =「99%」。例如:

<table> 
    <tr> 
    <td width="99%">Name</td> 
    <td>Qty</td> 
    <td>Actions</td> 
    </tr> 
</table> 
+6

這很好,只要我在其他細胞上使用nowrap。我覺得現在沒有想到它有點愚蠢。謝謝 – gsteinert

+8

寬度屬性也被棄用,應該使用css代替:http://www.w3schools.com/tags/att_td_width.asp –

+3

在Firefox中正常工作。在Webkit瀏覽器中,這會壓縮沒有明確設置寬度的圖像。 – Arcolye

3

您可以使用max-width:99%;在第一列,並給其他列(我使用像素大小的列)固定大小。

<table style="width: 100%;"> 
    <tr> 
    <td style="max-width: 99%"> 
     Will max 
    </td> 
    <td style='width:110px;'> 
     fixed size here 
    </td> 
    </tr> 
</table> 
相關問題