1

我的问题很容易证明:

<!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 像素...

在 Firefix 中的结果

... Internet Explorer (9.0.8112.16421) 仅使用第三列作为宽度:

结果在 IE

只要表格包含一行,其中第四列中的单元格不跨越另一列,宽度定义就会按预期工作。

我猜 IE 本身就是“哦,好吧,第三个后面没有其他列 - 让我们忽略 col 定义”。但我不知道如何避免这个问题。有什么建议么?而且,当然,也欢迎超越远程自省的解释:)

为了避免讨论这个例子的意义:列是由一个函数自动定义的,该函数不知道后面的单元格是否会单独使用(至少一次)。

4

1 回答 1

0

为 TABLE 本身设置一个宽度。

<table border="1" width="300">
于 2012-09-21T20:18:36.983 回答