CSS3

CSS3 知识量:11 - 43 - 138

9.1 多列布局简介><

什么是多列布局- 9.1.1 -

CSS3新增了多列布局特性,可以自动将内容按照指定的列数排列,实现类似报纸和杂志的排版效果。在此之前,使用div和浮动布局也可以实现类似的多列布局,但那种方式需要由程序员判断在何处将内容断开,而CSS3的多列布局避免了这一缺陷。

多列布局的属性概括- 9.1.2 -

多列布局的核心属性有以下几种:

  • column:集成了column-width和column-count两个属性,用于实现多列布局效果。

  • column-width:定义每列列宽。

  • column-count:定义分列列数。

  • column-gap:定义列间距。

  • column-rule:定义列边框。

  • column-span:定义多列布局中子元素跨列效果。

  • column-fill:控制每列的列高效果。

此外,CSS3的多列布局还有3个属性可用于定义分列符出现的位置,分别是:

  • break-before:定义分列符在元素之前出现。

  • break-after:定义分列符在元素之后出现。

  • break-inside:定义分列符在元素内部出现。

这3个属性的属性值简要说明如下:

  • auto:不强迫也不禁止在生成框之前(之后、之间)分页。

  • always:总是强迫在生成框之前(之后)分页。

  • avoid:避免在生成框之前(之后、之间)分页。

  • left:强迫在生成框之前(之后)分一个或两个页,使下一页成为一个左页。

  • right:强迫在生成框之前(之后)分一个或两个页,使下一页成为一个右页。

  • page:总是强迫在生成框之前(之后)分页。

  • column:总是强迫在生成框之前(之后)分列。

  • avoid-page:总是避免在生成框之前(之后)分页。

  • avoid-column:总是避免在生成框之前(之后)分列。

其中,page和column值的作用类似于always,将强制分列,区别在于page仅强制分页,column仅应用于列。avoid-page和avoid-column类似,它们的作用类似于avoid。