我正在制作用于显示数据的HTML表格,并且表格中有不同数量的列,但希望在背景中保留相同数量的“列”,以使列具有一致的宽度。
这个原因特定于我的申请并且与问题无关,因为这似乎是一个错误(或者我误解了col
和colgroup
应该如何工作?)
在我在此处显示的HTML中,我已将实际列数减少为两个。
我使用这样的colgroup
创建表格,并使用CSS在col
元素上设置宽度:
表1:
<table>
<colgroup>
<col />
<col />
</colgroup>
<tbody>
<tr>
<td colspan="1">col1</td>
<td colspan="1">col2</td>
</tr>
<tr>
<td colspan="2">col1</td>
</tr>
</tbody>
</table>
表2:
<table>
<colgroup>
<col />
<col />
</colgroup>
<tbody>
<tr>
<td colspan="2">col1</td>
</tr>
<tr>
<td colspan="2">col1</td>
</tr>
</tbody>
</table>
CSS:
col {
width:100px;
}
这两个表在FireFox,Chrome,IE7和IE8(其中'IE'代表'Internet Explorer')中表现良好。 但是,在IE9中,表2 的呈现宽度仅为一列。
无论有没有table-layout: fixed
我已经对这些表做了一个小提琴,并删除了所有空格的表格,以说明这与IE9中的表格渲染错误无关:http://jsfiddle.net/ketnp/1/