在IE7标准模式下,空表格单元的高度为1px

时间:2012-09-19 20:51:17

标签: html css internet-explorer internet-explorer-7

在IE9中使用IE7标准模式时,空表格单元格的高度为1px。这会导致表格下方的元素显示在页面下方,而不是它们应该显示的位置。我使用下面的代码为此创建了一个JSFiddle:http://jsfiddle.net/Zr7T2/3/

在IE7标准模式下,有没有办法让空表单元格的高度为0px?

我需要在HTML / CSS中解决这个问题,而不是JS。简单地删除空单元格不是一种选择。谢谢!

<!-- DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" -->
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>IE7 empty cell bug?</title>
        </head>
        <body>
            <table cellpadding="0" cellspacing="0">
                <tbody>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                    <tr><td /></tr>
                </tbody>
            </table>
            This text should be at the top of the page. It isn't when running in IE9 with IE7 standards mode turned on.
        </body>
    </html>

3 个答案:

答案 0 :(得分:0)

将单元格高度明确设置为零:

td { height: 0; }

答案 1 :(得分:0)

您可以像这样使用特定于浏览器的CSS:

body
{
*margin-top:-30px; /* IE 7 and below */
}

答案 2 :(得分:0)

我有这个问题。我只是把

<td>&nbsp;</td> 

但这是一个不太好的假肢,而不是好的解决方案。