HTML表rowspan奇怪的行为

时间:2013-02-04 13:16:15

标签: html html-table

我有以下HTML代码:

<table border="1">
    <tbody>
        <tr>
            <td rowspan="4">1 Rowspan=4</td>
            <td rowspan="3">2 Rowspan=3</td>
        </tr>
        <tr>
            <td>3 something</td>
        </tr>
        <tr>
            <td>4 something</td>
        </tr>
        <tr>
            <td>5 something</td>
        </tr>
        <tr>
            <td>6 something</td>
            <td>7 something</td>
        </tr>
        <tr>
            <td>8 something</td>
            <td>9 something</td>
        </tr>
    </tbody>
</table>

表现如下:

enter image description here

这是错的!应该只有2列!

我想让#3下方的#3和#1下面的#4。

为什么不可能?

这是一个小提琴:http://jsfiddle.net/FvY5b/

2 个答案:

答案 0 :(得分:2)

标记违反了HTML表格模型。如果在HTML5模式下使用http://validator.w3.org检查标记,则会报告错误:“表格行为3列宽,超出了第一行(2)建立的列数。”

正如在@Aditi的回答和Madara Uchiha的评论中所建议的那样,将rowspan="4"更改为rowspan="2"并删除rowspan="3"并设置CSS中第一行的高度(显然意图是使其高于其他情况。)

答案 1 :(得分:1)

尝试前两行......

<tr>
        <td rowspan="2">1 Rowspan=4</td>
        <td>2 Rowspan=3</td>
</tr>
<tr>
            <td>4 something</td>
        </tr>
        <tr>
            <td>3 something</td>
        </tr>