`column-span:<integer>`</integer>发生了什么

时间:2012-01-19 10:42:56

标签: css css3 columnspan

搜索此功能时,我遇到了2001草案,其中指定column-span定义为none | all | <integer> | inherit。我没有得到none(没有列?这意味着display:none‽),但除此之外,它很好。它甚至带有这张有用的图片。

column-span: 2

代码是......沿着这条线:

article { column-count: 3 }
h1 { column-span: all }
h2 { column-span: 2 }

有点历史:它在2005年被废除了。2007年,它被重新引入了1 | all值,2011年成为none | all(重新引入荒谬的none)。

我的问题:为什么这个属性如此严重缩减?那背后有什么理由吗? (在none)后面

1 个答案:

答案 0 :(得分:3)

至少在current draft中,属性名称column-span实际上意味着“跨越多个列”,值none意味着“不”或“假”。在{{3事情更自然,因此可以将属性解释为“跨越的列数”,初始值为1而不是none

一般情况下,CSS中的标识符通常会产生误导,可能会反映出规划的各个阶段 - 考​​虑white-space,这会影响一般的换行,而不仅仅是文本或letter-spacing,它会影响所有字符,而不仅仅是字母。

根据我在各种讨论中所读到的内容,将值限制为仅两个(没有跨越,跨越所有)的原因是实现其他值本质上是不同的且更复杂。此外,对这种功能的需求似乎比基本功能更加有限。

这听起来很现实,特别是因为即使是非常基本的多列布局也有如此糟糕的支持:我认为任何主流浏览器都不支持它在建议的标准名称下(但有些支持它在浏览器特定的属性名称下) ,甚至没有任何名称的column-span: all支持。 (有传言称Safari支持它,但我在Win 7版本上的测试并没有证实这一点。)

相关问题