我的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兼容模式。从上一个问题中获取信息后,提出了这个问题。我不确定是否应该将这个问题合并到上一个问题中,因为有新的要求。让我知道是否有建议。

有帮助吗?

解决方案

因此,查看您提供的内容,如果这是文件中设置的方式,那么您正在以严格的模式工作并缺少开口和。

就更改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; }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top