如何在IE9兼容模式下使列的宽度适合其内容?

时间:2011-11-29 05:05:25

标签: html css ie-compatibility-mode

我的HTML中有以下表格。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<style type="text/css">
    table, td, tr, th{
        border:1px;
    }

    .onepx{
        width:1px;
    }
</style>


<div style="max-width:700px;">
    <table>
        <tr><td colspan="2">this is a loooooooooooooooong text</td></tr>
        <tr><td class="onepx">a:</td><td>b</td></tr>
        <tr><td class="onepx">c:</td><td>d</td></tr>
    </table>
<div>

我希望第二行和第三行中的第一列宽度恰好符合内容长度(这就是我将width =“1px”放在那里的原因)。同时,我希望表宽度恰好适合表中最长内容的长度(这是第一行),而不是跨越到其边界div的最大宽度。

它适用于Firefox和IE9,兼容模式已关闭,如下所示。

firefox

但是,在IE 9兼容模式下,它无法正常工作,如图所示。

ie compatibility mode

出于某种原因,我无法在IE9中关闭兼容模式。那么有一种方法可以在兼容模式下设置表的样式吗?

提前致谢。

PS。我在没有强调IE9兼容模式的情况下问了一个类似的问题。在获得上一个问题的信息后,提出了这个问题。由于有新要求,我不确定是否应将此问题合并到上一个问题中。如果有任何建议,请告诉我。

1 个答案:

答案 0 :(得分:2)

所以,看看你提供的内容,如果它是如何在你的文件中设置的那样,你就是在严格的模式下工作而错过了开场白。

就更改IE9模式而言,选择F12,您可以更改浏览器和文档模式。

此外,不要忘记将<meta http-equiv="X-UA-Compatible" content="IE=9" >添加到您的头脑中。

表格样式应移至CSS。

您也可以尝试:

表:

<table class="fixed">
    <col width="10px" />
    <tr>
        <td>text</td>
    </tr>
</table>

CSS:

table.fixed { table-layout: fixed; }
table.fixed td { overflow: hidden; }