原因:table-layout: fixed 的表格,各列宽度由第一行决定,后面指定的宽度会被忽略。你第一行合并了,所以各列宽度均分了。
解决方法一:
在tbody前加
复制代码代码如下:
<col />
<col />
<col />
解决方法二:
设置一个隐藏的行来规定宽度:
复制代码代码如下:
<table border="1" cellspacing="1" cellpadding="1">
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>1</td>
<td colspan="2">2</td>
</tr>
<tr>
<td>1.1</td>
<td>2.1</td>
<td>2.2</td>
</tr>
</table>
这个方法,在IE6,IE7,IE8中都可以正确地显示,但在非IE中,是没起作用的。下面给出另外一种方法:
复制代码代码如下:
<style>
td{border:1px solid red;}
</style>
<table border="0" cellspacing="1" cellpadding="1">
<tr>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td>1</td>
<td colspan="2">2</td>
</tr>
<tr>
<td>1.1</td>
<td>2.1</td>
<td>2.2</td>
</tr>
</table>