我已经建立了一个这样的表:
第一行是标题行,因此将其插入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中,身体细胞向左移动了一列。
Firefox也使情况变得一团糟。
这种结构(即,属于<thead>
的单元格扩展为属于<tbody>
的行)是合法的吗?我在spec中找不到任何内容。
答案 0 :(得分:1)
答案 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>