2011-08-10 113 views
10

我有一個需要包含固定寬度和靈活寬度列的表的項目。table-layout:fixed忽略td的最小寬度

無論瀏覽器的寬度如何,某些列的寬度總是需要80px。

其餘的列需要是一個靈活的寬度,但都是相等的寬度,最小寬度爲75px;

通過添加table-layout:fixed;到表中我能夠得到靈活寬度cols都具有相同的寬度,但是然後表忽略td的最小寬度屬性。

如果我刪除表格佈局:固定,最小寬度的作品,但靈活寬度cols都有不同的寬度(根據他們包含的文本的長度)。

列數因數據庫中的數據而異。

我已經把表的例子與表格的佈局:固定和最小寬度上的jsfiddle:http://jsfiddle.net/7d2Uj/

任何想法如何獲取最小寬度在這種情況下工作,或者爲什麼這是發生?

回答

2

對於固定寬度列,您需要使用width而不是min-width,並且應該根據列數將剩餘列的寬度設置爲百分比。在你的情況下,你有6列,所以我把它設置爲16.66%

工作實施例:http://jsfiddle.net/6vw66/

+0

嗨,謝謝你的回答。我使用的是寬度和最小寬度,因爲它可以防止在我放置表格佈局之前縮小瀏覽器窗口時col的摺疊:固定在。我嘗試取出最小寬度並僅留下寬度,但是似乎沒有改變任何東西。不幸的是,列的數量根據數據庫中的數據而變化,所以我無法將寬度作爲靜態css中的%來計算。編寫這個我現在意識到一個選擇可能是通過基於col的動態構建css,這在以前我沒有想到過。也許這就是我需要做的。 – salonMonsters

+1

最終結果是我創建了一個動態生成的css規則,根據列的總數爲每個靈活寬度列設置寬度百分比。不理想,但它的工作。 – salonMonsters

11

我的此替代方法是擠壓表格其中列幾乎重疊,在該點處檢查表寬度和<table>元件本身的最小寬度設置爲該值。如果您使用一個可擴展列固定佈局,則此技術也很有用,否則隨着窗口縮小,擴展列將完全消失。

例如:http://jsfiddle.net/KTCfs/

+0

非常好,謝謝! – RockyMM