【问题标题】:What happened to `column-span: <integer>``column-span: <integer>` 发生了什么
【发布时间】:2012-01-19 10:42:55
【问题描述】:

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

代码是什么。大致如下:

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

有点历史:它在 2005 年被废除。2007 年,它以值 1 | all 重新引入,2011 年变为 none | all(重新引入无意义的 none)。

我的问题:为什么这个物业被如此严重地削减?这背后有什么原因吗? (在none后面)

【问题讨论】:

  • 我上次使用 column-span 时拼写为 colspan
  • 那你没有使用css3多列属性column-span这个问题,而是html表格单元格属性colspan;)

标签: css columnspan


【解决方案1】:

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

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

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

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

【讨论】:

猜你喜欢
  • 2016-07-31
  • 2016-02-28
  • 2014-02-28
  • 2010-10-02
  • 2020-03-14
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
相关资源
最近更新 更多