2016-03-07 135 views
2

我需要使一行包含4个单元格,如下所示:一行中的前三个单元格和最后一个单元格在前三个单元格下跨越所有单元格。像这样:有没有办法让一个​​显示在自己的行上?

---------------------------------- <---Start Row 
|   |   |   | 
| Cell 1 | Cell 2 | Cell 3 | 
|   |   |   | 
---------------------------------- 
|        | 
|    Cell 4   | 
|        | 
---------------------------------- <---End Row 

是否有HTML的方式做到这一点?

+0

正如我在我的回答中所说,我不相信这是可能的4单元格在一行。如果这是你能够生成的唯一的HTML,你打开一个jQuery的答案,将解决它? – freefaller

回答

7

您正在寻找的colspan属性...

<tr> 
    <td>Cell 1</td> 
    <td>Cell 2</td> 
    <td>Cell 3</td> 
</tr> 
<tr> 
    <td colspan="3">Cell 4</td> 
</tr> 

的合并单元格将让您“跨越”一个在多个细胞。这个属性的垂直合作伙伴是rowspan这将让你跨越一个单元格在多个


然而,在直接回答你的问题,我不相信这是可能有内第四单元一行出现在下一行。

我的理解是,你将不得不创建2个单独的行来实现你所追求的。 (我会很乐意删除我的答案应该有人证明我错了)


基于上述情况,如果一个jQuery的答案是可以接受的,你可以做到以下几点...

$(function() { 
 
    // Get the last child, detach from the row and add colspan 
 
    $lastTd = $("table tr td:last-child").detach().attr("colspan", "3"); 
 
    // Create a new row, add the detached cell, and add to the table 
 
    $("table").append($("<tr></tr>").append($lastTd)); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<table border="1"> 
 
    <tr> 
 
    <td>Cell 1</td> 
 
    <td>Cell 2</td> 
 
    <td>Cell 3</td> 
 
    <td>Cell 4</td> 
 
    </tr> 
 
</table>

+2

我认为他说4单元格的单行。 –

+0

我正在想着各种疯狂的代码,直到我看到你的答案。完全忘了HTML5世界中的“colspan”。 – TeaCode

+1

确实@Reddy,当我意识到 – freefaller

1

不知道如何清理这个可能,是我的解决方案与单一tr和4 TD的

td { 
 
    border: 1px solid black; 
 
} 
 

 
tr{ 
 
    width:120px; 
 
    height:50px; 
 
    display: table-caption; 
 
} 
 

 
tr >td{ 
 
    width:40px; 
 
} 
 

 
tr > td:nth-child(4) 
 
{ 
 
    width:120px; 
 
    position:absolute; 
 
    display:block; 
 
}
<table> 
 
<tbody> 
 
    <tr> 
 
    <td>1</td> 
 
    <td>2</td> 
 
    <td>3</td> 
 
    <td>full width td</td> 
 
    </tr> 
 
    <tr> 
 
    <td>1</td> 
 
    <td>2</td> 
 
    <td>3</td> 
 
    <td>full width td</td> 
 
    </tr> 
 
    <tr> 
 
    <td>1</td> 
 
    <td>2</td> 
 
    <td>3</td> 
 
    <td>full width td</td> 
 
    </tr> 
 
</tbody> 
 
</table>

+0

不会使第二行显示在第一行? –

+0

@MrX现在怎么样? –

+0

如果表具有标题,这将无法正常工作。 –

相关问题