编辑:我使用了W3验证器。在验证我的html代码时遇到了问题。我试着用谷歌搜索答案,但我似乎找不到解决问题的方法。如果有人能向我解释一下是什么导致了这个错误,以及如何解决它,我会很高兴的。错误消息:第80行,第19列:范围4…中的表列5由元素th建立的细胞中没有起始细胞。th colspan=“6”K pt utrustning/th.
下面是与该表相关的代码:
<div id="tabell2Space">
<div id="tabell2">
<table>
<tr>
<th colspan="6">Köpt utrustning</th>
</tr>
<tr>
<th rowspan="2">Artikelnummer#</th>
<th rowspan="2">Artikelbild</th>
<th colspan="3">Beskrivning</th>
<th>Pris</th>
</tr>
<tr>
<th colspan="3">Frakt, installation, etc</th>
<th>Kostnad</th>
</tr>
<tr>
<td rowspan="2">1.</td>
<td rowspan="2"><img alt="Dator" src="Bilder/pryl2.jpg"></td>
<td colspan="3">IMB Clone computer</td>
<td>$ 400.00</td>
</tr>
<tr>
<td colspan="3">Frakt, installation, etc</td>
<td>$ 20.00</td>
</tr>
<tr>
<td rowspan="2">2.</td>
<td rowspan="2"><img alt="Datorkomponent" src="Bilder/pryl1.jpg"></td>
<td colspan="3">1GB RAM Module</td>
<td>$ 50.00</td>
</tr>
<tr>
<td colspan="3">Frakt, installation, etc</td>
<td>$ 14.00</td>
</tr>
<tr>
<th colspan="6">Köpt utrustning</th>
</tr>
</table>
</div>
</div>任何帮助都是非常感谢的!
发布于 2014-12-10 18:53:00
该表结构违反了现在已在HTML5中形式化的HTML5模型,W3C HTML5验证器会对其进行检查。该模型在第4.9章的4.9.12 处理模型部分描述了HTML5规范的表格数据。这是相当技术性的,但关键是一个表由行和列组成,这些行和列定义了一个槽网格,每个插槽中必须有一个单元格。
在您的例子中,真正的问题是您声明了六列,但是列4和5中的槽中没有从它们开始的单元格。换句话说,您的表实际上只有四列(如@PHJCJO所建议的那样,在单元格周围添加边框),但您已经声明了相反的情况,好像第三列由三列组成。
修复方法是删除所有执行此操作的colspan="3"属性,并相应地将colspan="6"更改为colspan="4"。下面的代码实现了这一点,并进行验证,并创建相同的呈现,除非可能是第三列的宽度,如果需要,应该在CSS中设置。为了清楚起见,这里包括了边界。
<div id="tabell2Space">
<div id="tabell2">
<table border>
<tr>
<th colspan="4">Köpt utrustning</th>
</tr>
<tr>
<th rowspan="2">Artikelnummer#</th>
<th rowspan="2">Artikelbild</th>
<th>Beskrivning</th>
<th>Pris</th>
</tr>
<tr>
<th>Frakt, installation, etc</th>
<th>Kostnad</th>
</tr>
<tr>
<td rowspan="2">1.</td>
<td rowspan="2"><img alt="Dator" src="Bilder/pryl2.jpg"></td>
<td>IMB Clone computer</td>
<td>$ 400.00</td>
</tr>
<tr>
<td>Frakt, installation, etc</td>
<td>$ 20.00</td>
</tr>
<tr>
<td rowspan="2">2.</td>
<td rowspan="2"><img alt="Datorkomponent" src="Bilder/pryl1.jpg"></td>
<td>1GB RAM Module</td>
<td>$ 50.00</td>
</tr>
<tr>
<td>Frakt, installation, etc</td>
<td>$ 14.00</td>
</tr>
<tr>
<th colspan="4">Köpt utrustning</th>
</tr>
</table>
</div>
</div>
发布于 2014-12-10 18:36:27
在语义上,使用<th> (指示行/列标题)应该后面跟着一个或多个<th>,除非<th>在<thead>中。我将使用<td colspan="6">Köpt utrustning</td>而不是<th>,如果这是您想要达到的效果,只需将其样式设置为大胆。
https://stackoverflow.com/questions/27408269
复制相似问题