HTML:列可以跨越标题行还是正文行?

时间:2019-10-29 12:02:42

标签: html html-table

我已经建立了一个这样的表:

enter image description here

第一行是标题行,因此将其插入HTML的<thead>区域中。其他行是正文行,因此它们进入<tbody>区域。

单元格1:1具有<td rowspan="4">

<table>
	<thead>
<tr>
		<td rowspan="4" >
		<p class="body" >Spanned column</p>
		</td>
		<td >
		<p class="body" >Header cell</p>
		</td>
		<td>
		<p class="body" >Header cell</p>
		</td>
		<td>
		<p class="body" >Header cell</p>
		</td>
	</tr></thead>
	<tbody>
	
	<tr>
		<td >
		<p class="body" >Body</p>
		</td>
		<td >
		<p class="body" >Body</p>
		</td>
		<td >
		<p class="body" >Body</p>
		</td>
	</tr>
	<tr>
		<td >
		<p class="body" >Body</p>
		</td>
		<td >
		<p class="body" >Body</p>
		</td>
		<td >
		<p class="body" >Body</p>
		</td>
	</tr>
	<tr>
		<td >
		<p class="body" >Body</p>
		</td>
		<td >
		<p class="body" >Body</p>
		</td>
		<td >
		<p class="body" >Body</p>
		</td>
	</tr>
	</tbody>
	</table>

我的编辑应用程序允许我创建一个包含标题行和正文行的列跨度,但是导出到HTML看起来不像上图:在Antennahouse中,跨度列被视为未跨度,因此其内容被放置在单元格1:1中,身体细胞向左移动了一列。

enter image description here

Firefox也使情况变得一团糟。

这种结构(即,属于<thead>的单元格扩展为属于<tbody>的行)是合法的吗?我在spec中找不到任何内容。

2 个答案:

答案 0 :(得分:1)

我毕竟是在specification中找到的:

  

一个单元格不能覆盖来自两个或更多行组的插槽。

所以我出口的建筑是非法的。

答案 1 :(得分:0)

是的。

请参见下面的示例,您只需要了解表中有多少行,并在标题行中使用rowspan属性即可。

/*Just some css to make the result more pretty*/
th {
    background-color:#AAA;
}
.white{
    background-color:#FFF;
}

td,th{
   padding:5px;
}
<table border=1>
  <tr>
    <th rowspan=7 class="white">This is a big row span</th>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table>