mircool
发布于 2024-09-13 / 37 阅读
0
0

写给自己看的CSS columns分栏布局教程

多栏布局介绍

Multiple-column布局,也称多列布局、多栏布局,我习惯称之为分栏布局。这种布局可以将包括所有子元素在内的所有内容拆分为列,与报纸上排版类似。分栏布局在IE10及以上版本都可以使用,API稳定,在移动端兼容性比flex布局要好。

与分栏布局相关的CSS属性包括:

  • 直接相关属性:column-width, column-count, columns
  • 间接相关属性:column-rule-color, column-rule-style, column-rule-width, column-rule, column-span, column-fill, column-gap, break-after, break-before, break-inside

直接相关CSS属性

  1. column-width

    • 语法:column-width : <length> | auto;
    • 默认值:auto
    • 细节:容器宽度不足以分栏时,内容填充会尽可能利用可用空间,最终列宽可能大于设定值。
  2. column-count

    • 语法:column-count : <integer> | auto;
    • 默认值:auto
    • 细节:具体的分栏数取决于具体的使用场景。
  3. columns

    • 例子:columns : 18em;columns : 2;
  4. column-rule-color

    • 语法:column-rule-color : <color>
    • 默认值:当前 color 属性的计算值。
  5. column-rule-style

    • 使用例子:column-rule-style : dotted;, column-rule-style : dashed;

实地演示与使用效果

实际布局表现根据设置的column-widthcolumn-count属性值有所不同。不同属性值下可能变更栏目数或列宽,实现不同的布局效果。建议在PC端浏览器体验以感受差异。

三栏示范代码:

.column-style {
    column-count: 3; /* 设定分为三栏 */
    column-width: 200px;
}

这段代码将容器内容分为三栏,每栏的宽度为200px。


评论