CSS 基础教程
CSS 盒子模型
CSS 高级教程
CSS3 特点
CSS3 示例
CSS3 参考

CSS3 多列布局

使用 CSS3,您可以将元素的文本内容拆分为多列。

创建多列布局

CSS3 引入了多列布局模块,可以轻松高效地创建多列布局。 现在,您无需使用浮动框即可创建类似于在杂志和报纸中看到的布局。 这是一个使用 CSS3 多列布局功能将一些文本分成三列的简单示例。

p {
    -webkit-column-count: 3; /* Chrome, Safari, Opera */
       -moz-column-count: 3; /* Firefox */
            column-count: 3; /* 标准语法 */
}

设置列数或宽度

CSS 属性 column-countcolumn-width 控制是否出现以及出现多少列。 column-count 属性设置多列元素内的列数,而 column-width 属性设置所需的列宽。

p {
    -webkit-column-width: 150px; /* Chrome, Safari, Opera */
       -moz-column-width: 150px; /* Firefox */
            column-width: 150px; /* 标准语法 */
}

注意: column-width 描述了列的最佳宽度。 但是,根据可用空间,实际列宽可能会更宽或更窄。 此属性不应与 column-count 属性一起使用。


设置列间距

您可以使用 column-gap 属性控制列之间的间距。 在每列之间应用相同的间隙。 默认间隙是正常的,相当于 1em

p {
    /* Chrome, Safari, Opera */
    -webkit-column-count: 3;
    -webkit-column-gap: 100px;
    /* Firefox */
    -moz-column-count: 3;
    -moz-column-gap: 100px;
    /* 标准语法 */
    column-count: 3;
    column-gap: 100px;
}

设置列规则

您还可以在列之间添加一条线,即使用 column-rule 属性的规则。 它是一个简写属性,用于在单个声明中设置规则的宽度、样式和颜色。 column-rule 属性采用与边框和轮廓相同的值。

p {
    /* Chrome, Safari, Opera */
    -webkit-column-count: 3;
    -webkit-column-gap: 100px;
    -webkit-column-rule: 2px solid red;
    /* Firefox */
    -moz-column-count: 3;
    -moz-column-gap: 100px;
    -moz-column-rule: 2px solid red;
    /* 标准语法 */
    column-count: 3;
    column-gap: 100px;
    column-rule: 2px solid red;
}

注意: 列线的宽度不影响列框的宽度,但如果列线的宽度大于间隙,则相邻的列框会重叠该规则。


CSS3 多列属性

下表提供了所有多列属性的简要概述:

属性 说明
column-count 指定多列元素内的列数。
column-fill 指定内容如何跨列分布。
column-gap 指定列之间的间隙。
column-rule 指定要在每列之间绘制的直线或规则。
column-rule-color 指定列之间规则的颜色。
column-rule-style 指定列之间的规则样式。
column-rule-width 指定列之间的规则宽度。
column-span 指定元素跨越的列数。
column-width 指定列的最佳宽度。
columns 同时设置两个 column-widthcolumn-count 属性的简写属性。
Advertisements