columns 属性

columns: column-width column-count;

column-width  每列宽度
column-count  列数

htmlcss
    <p><strong>注意:</strong> columns属性不支持 Internet Explorer 9以及更早版本的浏览器.</p>
    <div class="div">
        “当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界。”
    </div>
    .div{
        columns:100px 3;
        -webkit-columns:100px 3; /* Safari and Chrome */
        -moz-columns:100px 3; /* Firefox */
    }

试一试

创建多列column-count

column-count: number|auto;

number  列数
auto  列数将取决于其他属性,例如:"column-width"

多列的空隙column-gap

column-gap: length|normal;

length  一个指定的长度,将设置列之间的差距
normal  指定一个列之间的普通差距。 W3C建议1EM值
htmlcss
    <p><strong>注意:</strong> columns属性不支持 Internet Explorer 9以及更早版本的浏览器.</p>
    <div class="div">
        “当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界。”
    </div>
    .div{
        -moz-column-count:3; /* Firefox */
        -webkit-column-count:3; /* Safari and Chrome */
        column-count:3;
        -moz-column-gap:100px; /* Firefox */
        -webkit-column-gap:100px; /* Safari and Chrome */
        column-gap:100px;
    }

试一试

多列的边框column-rule

column-rule: column-rule-width column-rule-style column-rule-color;

column-rule-width   设置列中之间的宽度规则

column-rule-style   设置列中之间的样式规则

none    定义没有规则。
hidden  定义隐藏规则。
dotted  定义点状规则。
dashed  定义虚线规则。
solid   定义实线规则。
double  定义双线规则。
groove  定义 3D grooved 规则。该效果取决于宽度和颜色值。
ridge   定义 3D ridged 规则。该效果取决于宽度和颜色值。
inset   定义 3D inset 规则。该效果取决于宽度和颜色值。
outset  定义 3D outset 规则。该效果取决于宽度和颜色值。

column-rule-color   设置列中之间的颜色规则

htmlcss
    <p><strong>注意:</strong> columns属性不支持 Internet Explorer 9以及更早版本的浏览器.</p>
    <div class="div">
        “当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界。”
    </div>
    .div{
        -moz-column-count:3; /* Firefox */
        -webkit-column-count:3; /* Safari and Chrome */
        column-count:3;
        -moz-column-rule:4px outset #ff00ff; /* Firefox */
        -webkit-column-rule:4px outset #ff00ff; /* Safari and Chrome */
        column-rule:4px outset #ff00ff;
    }

试一试

指定跨越的列数column-span

column-span: 1|all;

1   元素应跨越一列
all 该元素应该跨越所有列
htmlcss
    <p><strong>注意:</strong> columns属性不支持 Internet Explorer 9以及更早版本的浏览器.</p>
    <div class="div">
        <p class="div1">这是column-span:1;</p>
        <p class="div2">这是column-span:all;</p>
        “当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界。”
    </div>
    .div{
        -moz-column-count:3; /* Firefox */
        -webkit-column-count:3; /* Safari and Chrome */
        column-count:3;
    }
    .div1{
        column-span:1;
        -webkit-column-span:1; /* Safari and Chrome */
    }
    .div2{
        column-span:all;
        -webkit-column-span:all; /* Safari and Chrome */
    }

试一试

多列在哪里中断就写给哪里break-inside


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。