使用rowspan时,IE设置行高不起作用

时间:2011-06-23 22:47:48

标签: html internet-explorer html-table

只是想知道为什么以下HTML不起作用。基本上,当我在表行上设置rowspan时,IE似乎忽略了我设置的高度:

<table border="1" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td height="20">A</td>
    <td align="center" rowspan="3">
      Test
      <br />Test
      <br />Test
      <br />Test
      <br />Test
      <br />Test
      <br />Test
    </td>
  </tr>
  <tr>
    <td height="20">B</td>
  </tr>
  <tr>
    <td>C</td>
  </tr>
</table>

有谁知道它为什么会这样做?

1 个答案:

答案 0 :(得分:2)

我相信这里发生的事情是,IE将扩展剩余可用空间,以便填充跨越所有三行的第一个TR中第二个TD的高度。

考虑这个例子:

<table border="1" cellpadding="0" cellspacing="0" width="100%">
  <tr height="30px">
    <td>
      A
    </td>
    <td align="center" rowspan="3">
      Test
      <br />Test
      <br />Test
      <br />Test
      <br />Test
      <br />Test
      <br />Test
    </td>
  </tr>
  <tr>
    <td height="60px">
      B
    </td>
  </tr>
  <tr>
    <td height="100%">
      C
    </td>
  </tr>
</table>

在这里,我们看到IE渲染正确,因为60px + 30px =&lt;第二列的总高度,所以我们告诉最终的td为100%的高度,以便占用剩余的空间,因此IE不会在行中传播它。

我尝试了几个不同的测试用例,似乎证明了这一点。首先承认我可能是错的。