F跨了2行,H跨了3行。
注意:F和H都是属于第2行,这一点一定要清楚。
判断某一个跨行的小格属于第几行,就看它的起点在第几行,它就属于第几行。比如上图中,F和H起点都是第2行。
那么上图所示的表格,我来捋一捋每一行包括哪些小格:
上图表格总共有4行。
第一行是ABCD一个小格。
第二行是EFGH四个小格。
第三行只有I和J两个小格。正常情况下,I和J是紧挨着的,但是因为F跨行往下侵占了第三行的位置,所以把它们隔开了。
第四行只有KLM三个小格。
我用同一种颜色把属于同一行的小格圈出来:
这是为了更直观地演示,哪个小格属于哪一行。
但是相信不用给可以圈出来,你已经很清楚的知道了如何去判断。
当你能很清楚地知道哪个小格属于第几行之后,也就是说,能很清楚的知道第几行包括哪些小格,这样就能很清楚的写出代码了。
比如上图的表格,
我们已经知道了第一行包括A、B、C、D四个小格,
第二行包括E、F、G、H四个小格,
第三行包括I、J两个小格,
第四行包括K、L、M三个小格。
表格有几行就用几个tr标签对儿,每一行就是一个tr标签对儿。
每一行有几个小格,就在tr标签对儿里面写几个td标签对儿。
然后哪个小格是跨列或者跨行的,把colspan或rowspan属性写到上面就行了。
按照这个思路,代码就很好写了,上面跨行的表格的实现代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>合并单元格</title>
<style>
table,tr,td{
border-collapse: collapse;
}
</style>
</head>
<body>
<!-- 跨列的表格 -->
<h2>跨列的表格</h2>
<table border="1" width="400">
<tr>
<td colspan="2">A</td>
<td>B</td>
<td>C</td>
</tr>
<tr>
<td>D</td>
<td colspan="3">E</td>
</tr>
<tr>
<td>F</td>
<td>G</td>
<td>H</td>
<td>I</td>
</tr>
</table>
<!-- 跨行的表格 -->
<h2>跨行的表格</h2>
<table border="1" width="400">
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr>
<tr>
<td>E</td>
<td rowspan="2">F</td>
<td>G</td>
<td rowspan="3">H</td>
</tr>
<tr>
<td>I</td>
<td>J</td>
</tr>
<tr>
<td>K</td>
<td>L</td>
<td>M</td>
</tr>
</table>
</body>
</html>
在浏览器中效果如下:
同时有rowspan和colspan属性
单元格是可以同时具有rowspan和colspan属性的,也就是可以同时跨行又跨列。
比如下图所示的表格:
这个表格中,F跨了两行,G既跨了三行,又跨了两列。
那么G就是同时具有rowspan和colspan属性的。
但是,还是那个关键的问题----你是否能够分清楚,哪个小格是属于哪个行的?
还是根据小格的起点去判断,起点在哪行,它就属于哪行。