2013-05-08 67 views
0

以下哪项出错?th colspan失败w3c验证

<table> 
<tr> <th> Blah </th> <th colspan="2"> Something </th> </tr> 
<tr> <td> .. </td> <td colspan="2"> ... </td> </tr> 
</table> 

报告说,通过元素3established 表列日有没有在它开始的细胞。

回答

0

我验证你的HTML代码有两个文档类型:

  • HTML5;
  • XHTML 1.0 Strict。

并且您的文档已成功检查为有效。 你应该尝试重新验证它。

+0

我使用<!DOCTYPE html>,这对应于HTML5对不对? – 2013-05-08 00:35:33

+0

其实我上面写错了,更正了。你是对的,以前经过。我更新了上面的代码。无论如何,我不知道为什么它仍然不起作用,但事实证明,我甚至不需要colspan。 – 2013-05-08 00:46:07

+0

不,以<!!doctype html>'为前缀的代码不会*在http://validator.w3.org验证 – 2013-05-08 06:02:07

3

如错误消息所示,在第三列中没有单元格开始。因此违反了HTML5中定义的HTML表格模型,而在技术上却违反了4.9.12 Processing model。基本上,重点是您不能创建一个由仅由组成的列,该列由从先前列开始的单元格创建,并通过colspan扩展到其他列。

使用早期版本的HTML时,错误不会被捕获,因为对于它们来说,验证是DTD驱动的,而DTD(文档类型定义,用SGML或XML编写的一组形式规则)可以只描述相对简单的语法规则。

这个问题的最常见原因似乎是通过使用colspan来使得单元格变宽的一个被误导的想法。相反,请使用width属性,或者通常更优选使用CSS中的width属性。