我創建了一個應用程序,允許用戶通過添加和刪除列和行,設置列寬和單元格集以及將元素插入表格單元格來操作表格結構。在進行測試時,我遇到了一個場景,其中Firefox 4和Internet Explorer 8以我希望呈現的方式渲染表格,而Google Chrome 11則不渲染。我使用table-layout:auto,我知道CSS並沒有指定在這種情況下使用的渲染算法(http://www.w3.org/TR/CSS21/tables.html,第17.5.2.2節)。儘管如此,如果可能的話,我希望在三種瀏覽器中有一致的觀點。自動錶格佈局和colspan
這裏是一個非常簡單的場景來說明不同的渲染(嘗試在Chrome和Firefox/IE就可以看到區別):http://jsbin.com/ayuja4/3
即使表是足夠寬以包含藍格(因爲第一列設置爲200像素,第二列雖然寬度爲100像素,但必須擴展至300像素以包含綠色div),在Chrome中,第一列的寬度超過了200像素。這會在最後一行產生額外的不必要的空間,這正是我試圖避免的。
任何讓Chrome瀏覽器看起來與Firefox和Internet Explorer中的表相同的想法?我不需要純粹的HTML/CSS方法 - 使用JavaScript處理表格是一個有效的選擇,如果它解決了我的問題。我已經在考慮使用固定表格佈局,但是這會導致處理比列更寬的元素的額外工作,所以這是最後的手段。
似乎是Chrome中的一個錯誤,即使IE 6正確。報告錯誤,他們會很好地修復它,Chrome用戶將得到一個自動更新(除非您不連接到互聯網,否則無法避免),並且您的工作已經完成。 – RobG 2011-05-13 01:56:22
我通過Chrome的錯誤報告功能報告了它。不幸的是,這意味着我不會收到任何反饋。 – rbarni 2011-05-13 15:06:21