【问题标题】:Table row colspan percentage not passing validator表行跨度百分比未通过验证器
【发布时间】:2012-10-09 10:13:55
【问题描述】:

我正在生成一些 html 表格,我希望第一行能够跨所有其他行,所以这就是我所做的:

<table>
    <tr>
        <td colspan="100%">Table title</td>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

问题是我还希望我的网站是 w3c 有效的:

Bad value 100% for attribute colspan on element td: Expected a digit but saw % instead.

我尝试使用 colspan="all",但它不起作用,我想我可以设置一个非常高的值,例如 colspan=500 以确保它始终是 colspan-ed,但似乎有点脏并且仍然无效。

有没有办法跨行每隔一行并在 w3c 中有效?

【问题讨论】:

  • 为什么不知道表格有多少列?
  • 考虑到我项目的架构,有点难以理解。另外,我想尽可能通用。 (但也不是不可能,如果我别无选择,我会算他们)

标签: html html-table w3c-validation


【解决方案1】:

使用标题元素。这用于为您的表格提供标题并覆盖所有表格列。

<table>
    <caption>Table title</caption>
    <tr>
        <td>Data cell</td>
        <td>Data cell</td>
        <td>Data cell</td>
    </tr>
    [...]
</table>

【讨论】:

  • 完美,忘记那个标签了!
【解决方案2】:

1) W3 规范规定该值必须是整数 NUMBER。百分比绝对行不通。

该属性指定当前跨越的列数 细胞。此属性的默认值为一(“1”)。值为零 ("0") 表示单元格跨越从当前列到所有列 单元格所在的列组 (COLGROUP) 的最后一列 已定义。

2) Firefox 是目前唯一支持 0 的浏览器。

3) 你可以尝试一个非常大的数字,但这也可能会给你带来验证器的麻烦。当您知道表中的列数时,也许您应该尝试使用 Javascript 在运行时设置该属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多