以下HTML在所有常見瀏覽器(包括IE7-9)中完美呈現,但在IE10中失敗。即使在兼容模式下運行IE10,也會失敗。IE10表格佈局:如果使用colspan,則修復損壞
<html>
<body>
<table style="table-layout:fixed;width:500px">
<colgroup>
<col style="width:100px" ></col>
<col ></col>
<col style="width:100px" ></col>
<col ></col>
</colgroup>
<tbody>
<tr>
<td colspan="2">
<div style="background:red;"> red </div>
</td>
<td colspan="2">
<div style="background:green;"> green </div>
</td>
</tr>
</tbody>
</table>
</body>
</html>
儘管不是在所有其他的瀏覽器的2個細胞的大小相等,在IE10(上Windows7的運行時,至少)所述第一小區是比所述第二寬。
此HTML在IE 9 /視窗7:
在IE相同的HTML 10 /視窗7:
Testpage:http://www.dinkypage.com/167605
有誰知道這個問題的解決方案/解決方法?
更新:我要求微軟重新打開我報告的錯誤,因爲這違反了w3c標準。答案是:
「您報告的問題是設計問題,Internet Explorer只使用第一套TD標記來設置列的寬度。」
的W3C標準(http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout)表示:
在固定表格佈局算法中,每個列的寬度被確定爲如下:
- A柱元件與其它的值'width'屬性的'auto'設置該列的寬度。
- 否則,第一行中'width'屬性值不是'auto'的單元格將確定該列的寬度。如果單元格跨越多個列,則寬度將在列上劃分。
- 任何剩餘的列等分剩餘的水平表空間(減去邊框或單元格間距)。
這意味着,這個功能是通過設計在IE 10打破我建議使用不同的瀏覽器或留在IE 9 ...
在Windows 8上的IE 10中存在同樣的問題 – 2013-03-07 15:39:50
如果所有的
只需將樣式分配給第一個'tr'中的'td's而不是' col's。 – Teemu 2013-03-07 19:06:52