2015-01-26 69 views
0

Chrome提供了似乎不可能得到很快修正了一個錯誤:如何解決Chrome列寬問題?

https://code.google.com/p/chromium/issues/detail?id=178369

基本上碰巧瀏覽器不能正確處理列寬,如果細胞本身含有「WIDTH = 100%」的元素。

我需要單元格中的100%寬度元素。

有沒有人知道該錯誤的解決方法?

測試用例:

<table style="width: 800px; border: 1px solid black"> 
    <tr> 
     <td> 
      <table style="width: 100%; border: 1px solid blue"> 
       <tr> 
        <td style="width: 100%; background: red;"> 
         1 
        </td> 
       </tr> 
      </table> 
     </td> 
     <td> 
      <table style="width: 100%;"> 
       <tr> 
        <td style="width: 100%; background: green;"> 
         2 
        </td> 
        <td> 
        </td> 
       </tr> 
      </table> 
     </td> 
    </tr> 
</table> 
+0

我不知道你是否可以使用99.99%。我意識到這不是一個真正的解決方案,但它足夠接近您的使用? – user2366842 2015-01-26 23:02:20

+0

我剛剛嘗試過,並且該錯誤仍然存​​在「width」的任何值 – 2015-01-26 23:03:24

回答

1

簡單地增加

table-layout: fixed 

作外層表應該這樣做。 http://jsfiddle.net/ysqx6j4t/

+0

我已經試過,但後來我得到了重疊。另外我想使用「最小寬度」列 - 這些對於表格佈局是不可能的:固定的 – 2015-01-27 08:09:40

+0

這種情況下,最小寬度列是什麼意思?你的例子的表格寬度固定爲800px,並且兩個子表格都達到了100% - 這對我來說看起來相當嚴格。如果你想在那裏「流動」,那麼你應該更清楚地描述所需的行爲。 – CBroe 2015-01-27 09:09:17

+0

「最小寬度」我的意思是該列應該佔用儘可能小的空間來顯示其內容。 (綠色單元格右側的列就是這樣一列 - 如果您將任何內容放在該列中,它將根據需要顯示爲儘可能小的空間,但不會更多,因爲同一個表中的width = 100%列會貪婪地佔用所有內容未使用的空間)。 – 2015-01-28 08:05:33

0

注:鉻忽略TD風格的寬度,除非它們被一個表的第一個行設置。 (IE在大約15年前曾經這樣做)。

所以你不能在第一行有一個td和colspan = n。