W3指定 表格列只允许四个 CSS 规则(其中 <col> element) - 边框、背景、宽度和可见性。

有谁知道这个决定背后的原因?如果可以有边框和背景,为什么不能有字体和颜色呢?

有帮助吗?

解决方案

伊恩Hixie详细解释了这里:的,为什么只有四个属性适用于表列谜。相关报价:

  

文本的颜色是依赖于它的元件的“颜色”属性。除非指定,“颜色”属性(基本上)默认为“继承”,这意味着“取父元素的值”。

     

因此,对于小区中的一些文本,颜色被细胞,这是从该行,这是从该表,它是从表的父采取采取采取的“颜色”属性来确定,等等

     

关于列什么?那么,该列不是细胞的祖先之一,所以它从来没有得到一个查询中!和其中存在的问题。

其他提示

只是胡乱刺在基于我有限的了解黑暗:

我想通过柱相关的元素的造型受到限制,因为虽然<col><colgroup>代表单元的列,它实际上不包含它们(他们实际上由<tr>s包含)。有了这个自带的优先级和特异性和级联的问题(因为级联只能包含之间完成/容器元素) - 从<tr><col>(这将是一个多重继承层次结构中的同一级别)时,冲突的样式规则发生 - 这应该电池实际使用?

至于为什么风格,特别是少数属性是允许的,虽然:不知道

一个词:歧义。单元格必须是行的子单元格;否则它就不是一张桌子了。但没有可以下降的柱子。使用 colspan 意味着一个单元格可以位于两列中。与其试图想出一些令人困惑的解决办法,为什么不让开发人员放置一个 class 在每个第 n 个单元格上?

如果您仔细查看链接到的规范,您将看到解决歧义的尝试。这 width 属性指定最小值;这 background 排在行和单元的后座;和 border 引用“冲突解决算法”。甚至有算法的唯一原因 border 是因为可以合理地理解谁应该“获胜”(详细信息请参见算法)。但你能想象尝试找出哪个 color 或者 font 应该“赢”吗?

可能是因为在表中各行不一定必须以显示细胞为您的(因为例如列跨度)柱。这列应是细胞继承它的风格的?只是一个猜测。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top