结构复杂的HTML表格

结构复杂的HTML表格,html,html-table,Html,Html Table,我在创建下图中的表格时遇到困难: (图像本身未显示,请单击链接) 我已经搜索了stackoverflow,但是没有给出太多解释。下面是仅用于复杂行的代码,该行以包含“星期二”的单元格开头 星期二 上午8:00 上午11:00 XPath 上午11:00 下午2:00 XSL转换 凌晨2点 下午五点 在上面的代码中,我使用了三个tr,预计将生成三行,但只生成一行。上述代码的结果如下所示。我不明白为什么以“11:00 am”开头的行,即带圆圈的行不在新行上 (图像本身未显示,请单击链接)您可能只

我在创建下图中的表格时遇到困难:

(图像本身未显示,请单击链接)

我已经搜索了stackoverflow,但是没有给出太多解释。下面是仅用于复杂行的代码,该行以包含“星期二”的单元格开头


星期二
上午8:00
上午11:00
XPath
上午11:00
下午2:00
XSL转换
凌晨2点
下午五点
在上面的代码中,我使用了三个tr,预计将生成三行,但只生成一行。上述代码的结果如下所示。我不明白为什么以“11:00 am”开头的行,即带圆圈的行不在新行上


(图像本身未显示,请单击链接)

您可能只需要从小时中删除行跨度,以获得更好的结果

<table border="1">
  <tr>
    <td rowspan="6">Tuesday</td>
    <td>8:00 am</td>
    <td>11:00 am</td>
    <td rowspan="3">XPath</td>
  </tr>
  <tr>
    <td>11:00 am</td>
    <td>2:00 pm</td>
    <td rowspan="3">XSL Transformations</td>
  </tr>
  <tr>
    <td>2:00 am</td>
    <td>5:00 pm</td>
  </tr>
</table>

星期二
上午8:00
上午11:00
XPath
上午11:00
下午2:00
XSL转换
凌晨2点
下午五点

我不确定是否理解您想要的,您能发布预期结果的图形吗?

您创建了6行的结构,但您的标记只有3行,第2行包含第一行的跨行单元格和第2行中定义的单元格。这就是浏览器试图水平堆叠它们的原因

为了获得所需的结果,您应该向表中添加3行额外的行,并在它们之间分配单元格,以便每个单元格从正确的行开始(“XSL转换”在第4行,其他分别在第1、第3和第5行):请参见下面的第一个示例

顺便说一句,同样的视觉效果只需4行即可实现:请参见下面的第2个示例


星期二
上午8:00
上午11:00
XPath
上午11:00
下午2:00
XSL转换
凌晨2点
下午五点

星期二 上午8:00 上午11:00 XPath 上午11:00 下午2:00 XSL转换 凌晨2点 下午五点
rowspawn=2表示2个单元格,因此对于每一行,您可以将单元格相加。每行的总和应该相等。是的,同意,但试试看,你会发现它会给你一个奇怪的结果对不起,垂直/列单元格的rowspawn s,对于行,你要做colspawn。问题是你必须知道要做这件事的行数和列数。因为rowspawn和colspawn应该是平衡的谢谢你的回答,我有一个问题,为什么“XSL转换”的整行不能是包含下午2:00的TD之后的TD中的a?它不能与它们位于同一行中,因为这两个单元格从其上方的行跨越一个单元格,从该单元格开始的行跨越一个单元格。所以这些单元格必须从不同的行开始,而不是从同一行开始。我在第二个示例中添加了一些注释,以澄清哪个单元格属于哪个行。也许这有助于理解为什么他们应该这样放置。
<table border="1">
  <tr>
    <td rowspan="6">Tuesday</td>
    <td>8:00 am</td>
    <td>11:00 am</td>
    <td rowspan="3">XPath</td>
  </tr>
  <tr>
    <td>11:00 am</td>
    <td>2:00 pm</td>
    <td rowspan="3">XSL Transformations</td>
  </tr>
  <tr>
    <td>2:00 am</td>
    <td>5:00 pm</td>
  </tr>
</table>