CSS columns 语法
在 CSS 中,columns 是一个复合属性,它是以下 2 个子属性的简写。
语法:
columns: count width;说明:
count 是 column-count 属性的取值,width 是 column-width 属性的取值。
如果 columns 同时指定两个值,一个是 “长度值”,另一个是 “整数”。此时 “长度值” 会被作为 column-width 的值,而 “整数” 会被作为 column-count 的值。
如果 columns 只指定一个值,此时:
- 如果值是一个 “长度值”:则被视为 column-width 的值,然后 column-count 会被设置为 auto。
- 如果值是一个 “整数”:则被视为 column-count 的值,然后 column-width 会被设置为 auto。
注意: 当同时设置了 column-width 和 column-count ,并且两者值都不是 auto 时,column-count 充当最大列数的限制。浏览器会优先根据 column-width 和容器宽度计算列数,但实际列数不会超过 column-count 指定的值。
CSS columns 摘要
| 属于 | CSS 多列布局 |
|---|---|
| 使用频率 | 低 |
| 是否继承 | 否 |
| 默认值 | auto auto |
| 兼容性 | 查看 |
| 官方文档 | 查看 |
| MDN | 查看 |
CSS columns 示例
接下来,我们通过一个简单的例子来讲解一下 columns 属性是如何使用的。
示例:columns 基本用法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
body {
width: 400px;
padding: 10px;
border: 1px solid silver;
columns: 3;
}
</style>
</head>
<body>
<h1>匆匆</h1>
<p>燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时 候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢——如今又到了哪里呢?</p>
<p>……</p>
<p>在逃去如飞的日子里,在千门万户的世界里的我能做些什么呢?只有徘徊罢了,只有匆匆罢了;在八千多日的匆匆里,除徘徊外,又剩些什么呢?过去的日子如轻烟,被微风吹散了,如薄雾,被初阳蒸融了;我留着些什么痕迹呢?我何曾留着像游丝样的痕迹呢?我赤裸裸来到这世界,转眼间也将赤裸裸地回去罢?但不能平的,为什么偏要白白走这一遭啊?</p>
<p>你聪明的,告诉我,我们的日子为什么一去不复返呢?</p>
</body>
</html>页面效果如下图所示。

分析:
columns 会自动识别它的取值,比如 columns: 3; 会自动识别为 column-count: 3;,而非 column-width: 3;。
对于上面例子来说,如果将 columns: 3; 改为 columns: 150px;,此时页面效果如下图所示。这是因为 columns: 150px; 会自动识别为 column-width: 150px;。

