我的问题很容易证明:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<table border="1">
<colgroup>
<col width="75">
<col width="75">
<col width="75">
<col width="75">
</colgroup>
<tr>
<td colspan="2">Cells 1 + 2</td>
<td colspan="2">Cells 3 + 4</td>
</tr>
</table>
</body>
</html>
虽然 Firefox (15.0.1) 创建了一个包含两个单元格的表格,每个单元格为 150 像素...
... Internet Explorer (9.0.8112.16421) 仅使用第三列作为宽度:
只要表格包含一行,其中第四列中的单元格不跨越另一列,宽度定义就会按预期工作。
我猜 IE 本身就是“哦,好吧,第三个后面没有其他列 - 让我们忽略 col 定义”。但我不知道如何避免这个问题。有什么建议么?而且,当然,也欢迎超越远程自省的解释:)
为了避免讨论这个例子的意义:列是由一个函数自动定义的,该函数不知道后面的单元格是否会单独使用(至少一次)。