1

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

列跨度:2

代码是某事。沿着:

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

有点历史:它在 2005 年被废除。2007 年,它重新引入了价值观1 | all,到none | all2011 年(重新引入了无意义的none)。

我的问题:为什么这处房产被如此严重地削减?这背后有什么原因吗?(和后面none

4

1 回答 1

3

至少在当前草案column-span中,属性名称实际上意味着“跨越几列”,而值none意味着“否”或“假”。在2009 年12 月的草案中,事情变得更加自然,因此该属性可以解释为“跨越的列数”,初始值为1和 not none

一般来说,CSS 中的标识符经常会产生误导,并且可能反映计划的各个阶段——想想white-space,它影响一般的换行,而不仅仅是文本,或者letter-spacing,它影响所有字符,而不仅仅是字母。

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

这听起来很现实,尤其是因为即使是非常基本的多列布局的支持也很差:我认为没有任何主流浏览器在建议的标准名称下支持它(但有些浏览器在其特定于浏览器的属性名称下支持它),并且那里即使以column-span: all任何名义,似乎也没有任何支持。(谣言说 Safari 支持它,但我在 Win 7 版本上的测试并没有证实这一点。)

于 2012-01-19T11:21:30.050 回答