为什么colspan属性不能设置为零?

问题描述:

根据HTML5描述,属性rowspan可能具有值0.在这种情况下,值零意味着该单元格将横跨行组中给定列的所有剩余单元格。为什么colspan属性不能设置为零?

然而,colspan的值可能不等于零。

因此出现一个问题,对属性colspan的这种限制的原因是什么?

+0

您为什么认为colspan可能不等于零?你能否提供你看到这种限制的来源? – Banana

+0

@Banana看到这里http://www.w3.org/TR/2014/REC-html5-20141028/tabular-data.html#attributes-common-to-td-and-th-elements –

+0

根据该页,那些属性'colspan,rowspan'不能用于重叠单元格,根据[Mozilla Dev](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-这是在HTML5中对colspan进行限制的原因 – Banana

这是从https://lists.w3.org/Archives/Public/public-html/2011Aug/0293.html引用的,但它详细解释了这个问题。

在HTML4,“列跨度”和TD/TH元件的“rowspan的”属性已被允许具有零值(“0”): http://www.w3.org/TR/html4/struct/tables.html#adef-colspan

,这是非常有用的,当列或行数事先未知。 强制网页编辑器手动计算列号或行号 是有害的,而浏览器可以轻松地自动执行此操作。

在规范开发中有一个已知的规则:当有两个 规范的独立实现,那么规范 状态被提升为“推荐”(“候选”或“提议”)。

但是已经有两个(当然,1.5)工作零合并单元格/行跨度的独立 实现:

  1. 火狐(包括零列跨度和行跨度完全工作)

  2. 和Opera(支持rowspan =“0”,不支持colspan =“0”)。

因此,合并单元格/行跨度的零值是非常不错的人选,以保持在 HTML规范,此外,鼓励其他浏览器厂商对 尽快实现这个非常有用的功能。

没有严重的理由从HTML规范中删除colspan/rowspan 的零值。这不是“在所有的 处未实现”的东西,它已经非常实用并且应该在HTML规范中保持完整 。

而且HTML5规范(4.9.11)明确规定,合并单元格应是非零和行跨度可以与它的意思是零沿为零。 http://www.w3.org/TR/html5/tabular-data.html#attr-tdth-colspan

快速回答为什么会说HTML5规范明确规定了这个限制。国际海事组织我没有看到为什么浏览器不会保留零的意义,以火狐浏览器的方式行事,而不是遵循规范。

注意:只有Firefox支持colspan =“0”,它有特殊的含义(请看下面的“属性值”表)。

请访问以下http://www.w3schools.com的链接:

http://www.w3schools.com/tags/att_th_colspan.asp

这将帮助你....感谢名单

更多有关的研究:

https://developer.mozilla.org/en/docs/Web/HTML/Element/td

colspan

此属性包含一个非负整数值,指示单元格扩展的列数。其默认值是1;如果其值设置为0,则它​​将延伸到<colgroup>的末尾,即使隐式定义了该单元所属的末端。高于1000的值将被视为不正确,并将被设置为默认值(1)。

注意:在HTML5中,此属性只接受大于零的值,因为它不能用于重叠单元格。此外,Firefox是唯一支持HTML 4.01规范中定义的0值的浏览器。