CSS3之多列布局

2018-05-22  本文已影响41人  LemonnYan

一、多列布局的属性

多列布局的核心属性:

二、多列布局基本属性介绍

1、多列布局复合属性

columns是一个复合属性,列宽和列数,可以同时定义多列的列数和每列的列宽。
语法:columns:<column-width>||<column-count>
参数说明:

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>多列布局</title>
    <style>
        *{
            padding:0;
            margin:0;
        }
        .wrapper{
            width:40em;
            margin-left: auto;
            margin-right: auto;
            border:solid #ccc 1px;
            padding:5px;
            /*多列布局*/
            columns:9em 4;
        }
        h1{
            font-size:1.5em;
            margin-bottom: 1em;
        }
        p{
            margin-bottom: 1em;
            text-indent: 2em;
            line-height: 1.625;
            font-size:.7em;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <h1>测试文本</h1>
        <p>网易科技讯....</p>
        <h3>微软能否拯救windows8</h3>
        <p>这个问。。。</p>
        <p>不过,看起</p>
        <p>设计融合。。</p>
        <p>测试文本测试文本</p>
        <p>测试文本测试文本</p>
        <p>测试文本测试文本</p>
    </div>
</body>
</html>

2、多列布局列宽属性

多列布局列宽column-width属性类似于给列定义一个最小宽度。
语法:column-width:auto|<length>
参数说明:

3、多列布局列数属性

column-width属性主要用来给元素指定想要的列数和允许的最大列数。
语法:column-count:auto|<integer>
参数说明:

列数=(容器宽度-间距)/列间距
浏览器对于小数的取舍正常情况下都是四舍五入,但这里对于列数的取值,是去余取整。
例如:列数=(40em-2em)/10em=38em/10em=3.8这里取得是3列。

如果元素显显式设置了列数,不管元素的宽度是多少或者间距多少,总是显示固定的列数。

4、多列布局列间距属性

column-gap只能设置列与列之间的间距。
语法:column-gap:normal|<length>
参数说明:

示例:

.wrapper{
    width:40em;
    margin-left: auto;
    margin-right: auto;
    border:1px solid #ccc;
    padding:5px;
    -moz-column-count:4;
    -webkit-column-count:4;
    column-count:4;
    -moz-column-gap:2em;
    -webkit-column-gap:2em;
    column-gap:2em;
}

column-gap与column-width等参数之和大于多列元素总宽度时,会导致列被撑破,并将当前列数减1来显示,列宽自动调节到适当的列宽。

5、多列布局列边框样式属性

column-rule用来定义列与列之间的边框宽度、边框样式和边框颜色,类似于border属性。但column-rule不占用任何空间位置,在列与列之间改变其宽度不会改变任何列的位置。

语法:
column-rule:<column-rule-width>|<column-rule-style>|<column-rule-color>
参数说明:

多列列边框与列间距总结

6、多列布局列跨列属性

column-span主要用来定义一个分列元素中的子元素能跨列多少。
语法:column-span:none|all
参数说明:

7、多列布局列高度属性

column-fill用来定义多列中每一列的高度是否统一。
语法:column-fill:auto|balance
参数说明:

上一篇 下一篇

猜你喜欢

热点阅读