天天看点

CSS-多列布局1-概述

1、多列布局概述

通过 CSS3,您能够创建多个列来对文本进行布局 - 就像报纸那样!

2、常用属性

属性 版本 描述
columns CSS3 设置或检索对象的列数和每列的宽度。复合属性
column-width 设置或检索对象每列的宽度
column-count 设置或检索对象的列数
column-gap 设置或检索对象的列与列之间的间隙
column-rule 设置或检索对象的列与列之间的边框。复合属性
column-rule-width 设置或检索对象的列与列之间的边框厚度。
column-rule-style 设置或检索对象的列与列之间的边框样式。
column-rule-color 设置或检索对象的列与列之间的边框颜色。
column-span 设置或检索对象元素是否横跨所有列。
column-fill 设置或检索对象所有列的高度是否统一。
column-break-before 设置或检索对象之前是否断行。
column-break-after
column-break-inside 设置或检索对象内部是否断行。

3、常用属性说明

3.1 显示多少列.

(1)如果不设置 column-count 时

显示列数 = (总宽度+列间距)/ (列宽度+列间距)
           

(2)如果不设置 column-count 时

条件 显示列数
(列宽度+列间距)*列数 -列间距 <= 盒子宽度 显示列数量
(总宽度+列间距)/ (列宽度+列间距)

3.2 实例效果

源代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS多列布局</title>
    <style type="text/css">
        p{
            width: 800px;
            margin: 5px;
            border: 1px solid gray;
        }
        .div1{
            column-width: 200px;
            column-count: 3;
            column-gap: 100px;
            column-rule: 150px solid red;
            width: 800px;
            border: 1px solid red;
            margin: 5px;
        }
        .div2{
            column-width: 200px;
            column-count: 3;
            column-gap: 100px;
            column-rule: 150px solid red;
            width: 799px;
            border: 1px solid red;
            margin: 5px;
        }
    </style>
</head>
<body>
    <p>
    column-width:200px;<br>column-gap: 100px;<br>column-count: 3;<br>width: 800px;<br>  column-rule: 150px solid red;<br>
    </p>
    <p style="color: red">
      (column-width:200px+column-gap:100px)*(column-count:3)-(column-gap:100px)
      <=800px<br>
      因此显示列数 = 设置列数;
      <br/>
      column-rule-width的值,不影响列数显示。
    </p>
    <div class="div1">CSS3中新出现的多列布局(multi-column)是传统HTML网页中块状布局模式的有力扩充。这种新语法能够让WEB开发人员轻松的让文本呈现多列显示。我们知道,当一行文字太长时,读者读起来就比较费劲,有可能读错行或读串行;人们的视点从文本的一端移到另一端、然后换到下一行的行首,如果眼球移动浮动过大,他们的注意力就会减退,容易读不下去。所以,为了最大效率的使用大屏幕显示器,页面设计中需要限制文本的宽度,让文本按多列呈现,就像报纸上的新闻排版一样。
    </div>
     <p>
    column-width:200px;<br>column-gap: 100px;<br>column-count: 3;<br>width: 799px;<br>  column-rule: 150px solid red;<br>
    </p>
    <p style="color: red">
      (column-width:200px+column-gap:100px)*(column-count:3)-(column-gap:100px)
      >799px<br>
      因此显示列数 = (799+100)/(200+100)=2;
       <br/>
      column-rule-width的值,不影响列数显示。
    </p>
    <div class="div2">CSS3中新出现的多列布局(multi-column)是传统HTML网页中块状布局模式的有力扩充。这种新语法能够让WEB开发人员轻松的让文本呈现多列显示。我们知道,当一行文字太长时,读者读起来就比较费劲,有可能读错行或读串行;人们的视点从文本的一端移到另一端、然后换到下一行的行首,如果眼球移动浮动过大,他们的注意力就会减退,容易读不下去。所以,为了最大效率的使用大屏幕显示器,页面设计中需要限制文本的宽度,
</body>
</html>
           

运行效果:

image.png