为什么不允许样式表列?

Dis*_*oat 17 html css col css-tables

W3指定表列(包含<col>元素)只允许四个CSS规则- 边框,背景,宽度和可见性.

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

Que*_*tin 11

Ian Hixie在这里详细解释:为什么只有四个属性适用于表格列的原因.相关报价:

文本的颜色取决于其元素的"颜色"属性.除非指定,否则'color'属性(基本上)默认为'inherit',这意味着"获取父元素的值".

因此,对于单元格中的某些文本,颜色由单元格的"颜色"属性决定,该属性取自行中的行,该行取自表的父级,依此类推.

专栏怎么样?那么,该列不是单元格的祖先之一,所以它永远不会被人看到!其中存在问题.

  • 该列具有背景颜色.如果单元格和行的背景颜色为透明,则可以看到列颜色.这只是将元素叠加在一起.字体颜色不起作用. (2认同)

Jas*_*ove 8

基于我有限的理解,只是在黑暗中狂奔:

我认为通过列相关元素的样式是受限制的,因为虽然<col>并且<colgroup>表示单元格的列,但它实际上并不包含它们(它们实际上包含在<tr>s中).随之而来的是优先级和特异性以及级联问题(因为级联只能在包含/容器元素之间进行) - 当来自<tr><col>(在多重继承层次结构中将是相同级别)的冲突样式规则发生时 - 应该是单元格实际使用?

至于为什么允许那些特殊的风格属性:不知道.