IE中与其他所有人的处理表td-height不同?

时间:2011-10-07 15:07:05

标签: html css internet-explorer html-table

我在所有Internet Explorer版本中都遇到了TABLES的问题,或者更确切地说是TD的高度让我疯狂。

我有以下标记

<table>
    <tbody>
        <tr style="vertical-align:top;">
            <td id="TD1" width="35" colspan="2" style="background-color:yellow; height:1%;">
                <div id="DIV1" style="height:10px; background-color:red;"></div>
            </td>
            <td id="TD2" width="15" rowspan="2" style="height:99%;">
                <div id="DIV2" style="height:160px; background-color:green;"></div>
            </td>
        </tr>
        <tr style="vertical-align:top;">
            <td id="TD3" width="25">
                <div id="DIV3" style="height:60px; background-color:blue;"></div>
            </td>
            <td id="TD4" width="10">
                <div id="DIV4" style="height:80px; background-color:orange;"></div>
            </td>
        </tr>
    </tbody>
</table>

为了更好地理解,您可以在w3schools.com的tryit-editor中执行代码

http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_td_height

我认为这解释了,我试图解释:)

虽然DIV2的高度小于或等于DIV1和DIV3或DIV4的高度,但它的工作方式与预期的一样。但是当DIV2的高度大于DIV1和DIV3或DIV4的高度时,IE以与TD3和TD4相同的比率上升TD1。

在所有其他浏览器中,只有TD3和TD4加注。 TD1的高度仍与DIV1相同。

有人有想法或解决方法我可以解决这个问题吗?

无表格布局很遗憾没有选择。

1 个答案:

答案 0 :(得分:0)

如果没有合适的doctype,您将永远不会让IE尝试像其他更现代的浏览器那样执行。 IE处于怪癖模式。使用这一个:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

或者这个:

<!DOCTYPE html>