Html 使用rowspan和colspan的复杂表
我必须制作一个非常复杂的表格,类似下图中的表格。 我试过这个标记,但效果不好。 我不明白为什么第6单元和第5单元保持在同一行,即使它们在不同的tr标签中。 我也不明白为什么单元格1、2、3的跨距大小不正确。Html 使用rowspan和colspan的复杂表,html,css,html-table,Html,Css,Html Table,我必须制作一个非常复杂的表格,类似下图中的表格。 我试过这个标记,但效果不好。 我不明白为什么第6单元和第5单元保持在同一行,即使它们在不同的tr标签中。 我也不明白为什么单元格1、2、3的跨距大小不正确。 有人能告诉我如何解决这个问题吗?您的表应该是每8行5列的表(在合并许多单元格之前) 您的所有行应总共有5列(或示例为colspan=“2”后跟colspan=“3”)。这是前两个的情况,但从第三个到最后一个是错误的 不要拉小提琴,因为我不会为你拉的;)如果仍然存在问题,请在桌子为5C x
有人能告诉我如何解决这个问题吗?您的表应该是每8行5列的表(在合并许多单元格之前) 您的所有行应总共有5列(或示例为
colspan=“2”
后跟colspan=“3”
)。这是前两个的情况,但从第三个到最后一个是错误的
不要拉小提琴,因为我不会为你拉的;)如果仍然存在问题,请在桌子为5C x 8R的位置提供小提琴
编辑:确定在此处解决它:
- 主要问题在于第2行和第3行:虽然它们在显示时有两倍的高度,并给人留下占用4行的印象,但它们不应该(必须)每个只占用1行。
因此,左侧的3个单元格“1、4和8”分别垂直跨越。1、2和5个单元格(但第4个单元格的高度是一个单元格高度的两倍,该单元格也可以跨越2行)。
修改:单元格“4”跨越2行(不是4行);“5”和“6”无垂直跨度和。跨度超过2柱和3柱;单元格“7”跨越3行(不是4行) - 单元格“8”跨越5行,而不是4行
- 我想,在标记为“9”-“17”的单元格中,还有一个值减去1,但我再也找不到了。也许不是
当HTML表格算法从HTML代码中构建单元格、行和列时(它甚至可以在缺少几个单元格的情况下这样做!),它不知道它们在图形浏览器或打印机上的大小。而一个屏幕阅读器对此毫不在意。重要的是所需的最小细胞数。CSS然后使用结果设置样式并显示它 您显示的预览JPG是一个“5列”宽的模板。我建议你先从5个相同的td开始。然后开始从上到下制作其他行。根据单行高度,我想说这个模板实际上有10行高。我错了吗?为什么第三个需要更多的专栏?我认为第二行指定的单元格中有(2+1)加2。我如何设置行数和列数?@Michael 2行的高度是双倍的,是的。但是你只需要8个
tr
就可以完成这个任务:是的,你是对的。我没有考虑到这一点。。。事实上,问题是:如果它可以有8行,那么它就不应该这样做:它必须这样做。我对第5-8行进行了注释,并从这里尝试。。。。请看我的编辑与工作小提琴现在。
<body>
<table border="10" cellpadding="0" cellspacing="0">
<tr>
<td colspan="1" rowspan="1">1</td>
<td colspan="2" rowspan="1">2</td>
<td colspan="2" rowspan="1">3</td>
</tr>
<tr>
<td colspan="2" rowspan="4">4</td>
<td colspan="3" rowspan="2">5</td>
</tr>
<tr>
<td colspan="2" rowspan="2">6</td>
<td colspan="1" rowspan="4">7</td>
</tr>
<tr>
<td rowspan="4" colspan="1">8</td>
<td rowspan="1" colspan="1">9</td>
<td rowspan="1" colspan="1">10</td>
<td rowspan="2" colspan="1">11</td>
</tr>
<tr>
<td rowspan="1" colspan="2">12</td>
</tr>
<tr>
<td rowspan="3" colspan="1">13</td>
<td rowspan="1" colspan="3">14</td>
</tr>
<tr>
<td rowspan="1" colspan="2">15</td>
<td rowspan="1" colspan="1">16</td>
</tr>
<tr>
<td rowspan="1" colspan="2">17</td>
</tr>
</table>
</body>
td {
width:50px;
height:50px;
padding:0px;
}