根据HTML5的描述,属性rowspan可以有值0。在这种情况下,值为零表示单元格应跨越行组中给定列中的所有剩余单元格。然而,colspan的值不能等于零。因此,一个问题就出现了:为什么要对属性colspan进行这样的限制?
这是从https://lists.w3.org/Archives/Public/public-html/2011Aug/0293.html中引用的,但它详细解释了这个问题。在HTML4中,TD / TH元素的“colspan”和“rowspan”属性允许具有零值(“0”):http://www.w3.org/TR/html4/struct/tables.html#adef-colspan。当列或行号事先不知道时,这非常有用。强制Web编辑器手动计算列或行数而浏览器可以轻松自动完成这一点是有害的。规范开发中有一个已知的规则:当规范有两个独立的实现时,规范状态将提升为“推荐”(“候选”或“建议”)。但已经有两个(好吧,1.5个)工作独立的零colspan / rowspan实现:1. Firefox(零colspan和rowspan都完全工作)2. Opera(支持rowspan =“0”,不支持colspan =“0”)。因此,colspan / rowspan的零值非常适合保留在HTML规范中,并且更鼓励其余浏览器供应商尽快实施此有用的功能。没有什么严重的理由从HTML规范中删除colspan / rowspan的零值。它不是“完全未实现”的东西,它已经相当可用并应在HTML规范中保持完好无损。HTML5规范(4.9.11)还明确指出,colspan应为非零,而rowspan可以为零,以及零意味着什么:http://www.w3.org/TR/html5/tabular-data.html#attr-tdth-colspan。为什么会这样?简单来说,HTML5规范明确规定了此限制。在我看来,除了遵循规范之外,我认为浏览器不会保留零的含义与Firefox实现的其他含义相同的原因。
colspan, rowspan
不能用于重叠单元格,而根据Mozilla Dev,这就是HTML5中限制colspan
的原因。 - Banana