CSS(16) -- css3 新特性<6> 多列column布局

43 阅读2分钟

一. 适用情况

2083.png

  • 你想要你的文本看起来想报纸那种排版布局。
  • 您有一组要分成列的小项目。
  • 你不需要单独为指定的列写样式。

注意:

  • 采用多列布局的方式布局,这些列的大小和样式都是相同的,文本会以流的形式依次填充每个列!!

二. 容器相关属性

<1> column-count,描述元素应该被分割的列数。
column-count: number|auto;
  • number : 指被划分的最大列数!!实际的列数可能会小于指定的值
  • auto :受 column-width的值的影响
<2> column-width,设置列的理想宽度。
column-width : px | auto
  • px 为指定的理想宽度,当然可能会达不到理想,比如,设置的列数较多或者较少的情况下!!
<3> columnscolumn-width 与 column-count 的简写属性。
columns: column-width column-count;
<4> column-fill,指定如何填充列
column-fill : balance | auto;

2084.png

  • balance (默认值),尽量把内容平均分配,即每列的内容高度差不多
  • auto :按顺序填充,前面一列填满才会往后接着填!!
<5> column-gap,指定列与列之间的间隙
  • normal:在 Multi-column 布局时默认间隔为 1em,其他类型布局默认间隔为 0
  • px
  • % (基于容器的宽)
<6> column-rule,描述了列与列之间的直线的样式

语法与指定 border 的样式的语法一样!!!

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

三. 列相关属性

<1> column-span,指定元素是否要跨越所有的列
  • none :默认值,不跨列。
  • all :元素横跨所有列。该元素新建一个 BFC,在元素之前的正常流中的内容在所有列之间自动平衡。

none

2085.png

all

2086.png

注意:

  • column-span 是给子元素设置的属性,所以如果子元素是单纯的文本,就需要把文本内容包装在一个容器中,然后给这个容器设置column-span属性!!