CSS3 多列

CSS3 可以将文本内容设计成像报纸一样的多列布局

浏览器支持

表格中的数字表示支持该方法的第一个浏览器的版本号。

紧跟在数字后面的 -webkit- 或 -moz- 为指定浏览器的前缀。

属性
column-count4.0 -webkit-10.02.0 -moz-3.1 -webkit-15.0 -webkit-
11.1
column-gap4.0 -webkit-10.02.0 -moz-3.1 -webkit-15.0 -webkit-
11.1
column-rule4.0 -webkit-10.02.0 -moz-3.1 -webkit-15.0 -webkit-
11.1
column-rule-color4.0 -webkit-10.02.0 -moz-3.1 -webkit-15.0 -webkit
11.1
column-rule-style4.0 -webkit-10.02.0 -moz-3.1 -webkit-15.0 -webkit
11.1
column-rule-width4.0 -webkit-10.02.0 -moz-3.1 -webkit-15.0 -webkit
11.1
column-width4.0 -webkit-10.02.0 -moz-3.1 -webkit-15.0 -webkit
11.1

CSS3 多列属性

本章节我们将学习以下几个 CSS3 的多列属性:

  • column-count
  • column-gap
  • column-rule-style
  • column-rule-width
  • column-rule-color
  • column-rule
  • column-span
  • column-width

CSS3 创建多列

column-count 属性指定了需要分割的列数。

以下实例将 <div> 元素中的文本分为 3 列:

div {
    -webkit-column-count: 3; /* Chrome, Safari, Opera */
    -moz-column-count: 3; /* Firefox */
    column-count: 3;
}

CSS3 多列中列与列间的间隙

column-gap 属性指定了列与列间的间隙。

以下实例指定了列与列间的间隙为 40 像素:

div {
    -webkit-column-gap: 40px; /* Chrome, Safari, Opera */
    -moz-column-gap: 40px; /* Firefox */
    column-gap: 40px;
}

CSS3 列边框

column-rule-style 属性指定了列与列间的边框样式:

div {
    -webkit-column-rule-style: solid; /* Chrome, Safari, Opera */
    -moz-column-rule-style: solid; /* Firefox */
    column-rule-style: solid;
}

column-rule-width 属性指定了两列的边框厚度:

div {
    -webkit-column-rule-width: 1px; /* Chrome, Safari, Opera */
    -moz-column-rule-width: 1px; /* Firefox */
    column-rule-width: 1px;
}

column-rule-color 属性指定了两列的边框颜色:

div {
    -webkit-column-rule-color: lightblue; /* Chrome, Safari, Opera */
    -moz-column-rule-color: lightblue; /* Firefox */
    column-rule-color: lightblue;
}

column-rule 属性是 column-rule-* 所有属性的简写。

以下实例设置了列直接的边框的厚度,样式及颜色:

div {
    -webkit-column-rule: 1px solid lightblue; /* Chrome, Safari, Opera */
    -moz-column-rule: 1px solid lightblue; /* Firefox */
    column-rule: 1px solid lightblue;
}

指定元素跨越多少列

以下实例指定 <h2> 元素跨越所有列:

h2 {
    -webkit-column-span: all; /* Chrome, Safari, Opera */
    column-span: all;
}

指定列的宽度

column-width 属性指定了列的宽度。

div {
    -webkit-column-width: 100px; /* Chrome, Safari, Opera */
    column-width: 100px;
}

CSS3 多列属性

下表列出了所有 CSS3 的多列属性:

属性描述
column-countopen in new window指定元素应该被分割的列数。
column-fillopen in new window指定如何填充列
column-gapopen in new window指定列与列之间的间隙
column-ruleopen in new window所有 column-rule-* 属性的简写
column-rule-coloropen in new window指定两列间边框的颜色
column-rule-styleopen in new window指定两列间边框的样式
column-rule-widthopen in new window指定两列间边框的厚度
column-spanopen in new window指定元素要跨越多少列
column-widthopen in new window指定列的宽度
columnsopen in new windowcolumn-width 与 column-count 的简写属性。