IE9.0和colgroup / colspam问题

时间:2012-11-23 01:45:50

标签: html internet-explorer

IE 9.0无法正确呈现HTML,我没有想法...... 请帮忙。 我无法更改“<!DOCTYPE html>”。任何想法? 感谢。

<!DOCTYPE html>
<html lang="en">
<body>
<table style="table-layout:fixed;" width="100%" border="1">
    <colgroup span="120">
    </colgroup>
    <tbody>
        <tr>
            <td colspan="120">AAAAAAAAAAAAAAAAAAAAAA</td>
        </tr>
        <tr>
            <td colspan="15">aa</td>
            <td colspan="15">ss</td>
            <td colspan="90">dd</td>
        </tr>
        <tr>
            <td colspan="120">zzzzzzzz</td>
        </tr>
    </tbody>
</table>

2 个答案:

答案 0 :(得分:0)

Colspan =要合并为单个单元格的列数。我很害怕你用它来设置一列的宽度。那是错的。使用CSS width属性设置列的宽度。

<td width="120" colspan="3">

(纯HTML)或CSS

<td style="width:120px" colspan="3">

答案 1 :(得分:0)

标记违反了HTML表格模式,因为W3C Markup Validator会以一种有些神秘的方式告诉你。 colspan属性指定单元格跨越的表列数。当只有3列时,不能跨越120列。

在我看来,你真正想要的是划分列之间的可用宽度,使得关系为15:15:90。将其简化为1:1:6,然后将它们转换为百分比:

<table style="table-layout:fixed;" width="100%" border="1">
     <col width="12.5%">
     <col width="12.5%">
     <col width="75%">
    <tbody>
        <tr>
            <td colspan="3">AAAAAAAAAAAAAAAAAAAAAA</td>
        </tr>
        <tr>
            <td>aa</td>
            <td>ss</td>
            <td>dd</td>
        </tr>
        <tr>
            <td colspan="3">zzzzzzzz</td>
        </tr>
    </tbody>
</table>

使用固定布局,在处理第一行时确定列的宽度。因此,宽度需要在col元素中设置。否则,浏览器在处理第一行时,不会有任何宽度要求,因此根据规范,它会在列之间平均分配总空间。