分栏布局 – 简介

将子元素拆分为列,使用场景并不多,重点掌握 columns 和 column-gap,其他用得少,简单了解下即可。

优点:
不会改变元素原本的display计算值

<ul style = "columns: 2;"> <li>重庆市</li><li>哈尔滨市</li><li>长春市</li><li>兰州市</li><li>北京市</li><li>杭州市</li><li>长沙市</li><li>沈阳市</li><li>成都市</li><li>合肥市</li><li>天津市</li><li>西安市</li>
</ul>

以下为相关属性详解:

columns 列宽和列数

columns是column-width和 column-count的缩写

/* 栏目宽度 */
columns: 18em;/* 栏目数目 */
columns: auto;
columns: 2;/* 同时定义宽度和数目,顺序任意 */
columns: 2 auto;
columns: auto 2;

column-width和 column-count都是期望值,最终的分栏表现规则为:统一转换column-count值,哪个值小就使用哪一个。

/* 最终2栏显示 */
.container-1 {width: 360px;column-count: 2;column-width: 100px;
}
/* 最终3栏显示 */
.container-2 {width: 360px;column-count: 4;column-width: 100px;
}

column-width 不支持百分比值

column-gap 分栏间隙

/* 关键字属性值 */
column-gap: normal; /* 长度值 */
column-gap: 3px;
column-gap: 3em;/* 百分比值 */
column-gap: 3%;

gap属性实际上是column-gap属性和row-gap属性的缩写,所以也可以用gap来简化代码(IE暂不支持)

.container {columns: 2;gap: 1rem;
}

column-rule 分栏分割线

column-rule属性是column-rule-width、column-rule-style和column-rule-color这3个CSS属性的缩写,和border类似。

column-rule: dashed deepskyblue;

效果见 https://demo.cssworld.cn/new/6/1-3.php

column-span 跨栏

  • none表示不横跨多栏,默认值。
  • all表示横跨所有垂直列。

效果见 https://demo.cssworld.cn/new/6/1-4.php

常用于在分栏布局中插入广告

column-fill 分栏填充方式

  • auto的作用是按顺序填充每一列,内容只占用它需要的空间,需配合容器元素的height属性一起使用。
  • balance是默认值,作用是尽可能在列之间平衡内容。在分隔断开的上下文中,只有最后一个片段是平衡的。例如,有多个<p>元素,正好最后一个<p>换行了,那这个<p>元素的内容前后等分,保持平衡。这会造成最后一栏内容较少的问题。
  • balance-all的作用是尽可能在列之间平衡内容。在分隔断开的上下文中,所有片段都是平衡的。该属性值目前没有任何浏览器支持,可以忽略。

效果见 https://demo.cssworld.cn/new/6/1-5.php

break-inside 控制内容中断

  • auto表示元素可以中断。
  • avoid表示元素不能中断。

还可以在页面打印时控制某个元素不跨页。

效果见 https://demo.cssworld.cn/new/6/1-7.php

box-decoration-break 控制装饰中断

兼容性不佳,了解即可。

  • slice为默认值,表示各个元素断开的部分如同被切开一般。
  • clone表示断开的各个元素的样式独自渲染。

【用Firefox浏览器查看】效果见 https://demo.cssworld.cn/new/6/1-8.php

经典应用——两端对齐

只适用于单行的两端对齐

 column-count: 3;column-gap: 5%;

效果见 https://demo.cssworld.cn/new/6/1-6.php

经典应用——电子书水平翻页阅读效果

详见 https://www.zhangxinxu.com/wordpress/2017/02/css3-multiple-column-layout-read-horizontal/

css 分栏布局 columns相关推荐

  1. column分栏布局只是文字布局吗_写给自己看的CSS columns分栏布局教程

    by zhangxinxu from https://www.zhangxinxu.com/wordpress/?p=8436 本文可全文转载,个人网站无需授权,只要保留原作者.出处以及文中链接即可, ...

  2. CSS实现各类分栏布局

    在CSS中,实现分栏布局有两种方法.第一种方法是使用四种CSS定位选项(absolute .static.relative和fixed)中的绝对定位(absolute positioning),它可以 ...

  3. Css布局学习之column的分栏布局

    Css布局学习之column的分栏布局 一. column分栏布局的常用属性: column-count 设置分栏的个数 column-width 设置分栏的宽度 注:一般个数和宽度有冲突,所以col ...

  4. 网页设计中分栏布局的几种实现方案

    在网页设计中,分栏布局是常用的布局手法,一般有两栏布局,三栏布局.这其中又以部分栏固定,部分栏自适应的方式最为常见.下面我们先以常见的三栏布局开始,描述一下常用的几种实现方案. 三栏布局 三栏布局最常 ...

  5. 六种方法实现CSS三栏布局

    方法一:浮动+margin 实现方法:左栏向左浮动,右栏向右浮动,中间栏不设宽度,用左右margin来撑开距离. <!DOCTYPE html> <html><head& ...

  6. 【LaTeX笔记12】Latex分栏布局及模板使用

    经过三天的学习,记录了12个笔记,所有的代码已经上传到GitHub. 1 分栏布局 分栏布局是我们阅读文献经常见到的排版布局,下面给一种分栏布局的基本方法. % 导言区 \documentclass[ ...

  7. CSS三栏布局的7种方式代码详解 | 圣杯布局 | 双飞翼布局 | 弹性盒子

    CSS三栏布局代码详解 写在前面:博主最近在转头复习最前面学的CSS,整理一下CSS三栏布局的笔记,正好也捋顺自己的逻辑思路.解析我尽量按照思路详细的写了,代码均可正确运行,留给需要的小伙伴进行参考, ...

  8. pc端常见的几种布局:分栏布局,通栏布局,版心布局,版心布局

    pc端常见的几种布局:分栏布局,通栏布局,版心布局 1分栏布局: float 2 通栏布局: 在页面中不设置宽度,让默认宽度和浏览器等宽的布局 3.版心布局: 内容始终出现在整个浏览器版面的中心固定的 ...

  9. CSS多栏布局-两栏布局和三栏布局

    目录 前言 ------两栏布局 一.左列定宽,右列自适应 1.浮动+margin 2.浮动+BFC 3.定位 4.flex 5.浮动+负外边距 6.table布局 二.左列不定宽,右列自适应 1.f ...

最新文章

  1. JVM内存溢出的几种情形
  2. 记一次TIME_WAIT网络故障
  3. 485 通信注意事项
  4. web前端要学哪些东西,前端大牛分享的技能整理
  5. Jquery-数组删除元素
  6. 情人节,给你们发点福利。
  7. rocketmq集群搭建 双主双从
  8. ubuntu16.04利用SVN下载文件
  9. 非线性光纤光学_《Nature》子刊:解决大纵横比光纤中传质不匀的难题!
  10. ps出现标尺的快捷键,隐藏参考线,把隐藏的参考线显示出来的快捷键。
  11. 创建室内导航地图的9个步骤
  12. 全球科学家公认的高效学习法——费曼学习法
  13. python index out of bounds_使用python中遇到的坑
  14. SDL应用之三种字库
  15. 买云服务器推荐哪一个?国内知道有腾讯云、阿里云等,不知道如何选择,并且是否有优惠?
  16. 20190831每日一句 超越你的舒适区,突破自我,继续前进!
  17. 2013再见,2014,在路上
  18. 【马仔创业记】一只猴子的创业独白(5)心理咨询行业痛点分析
  19. 圆和圆柱体计算(继承)Python
  20. 建一个网站费用到底要多少钱?

热门文章

  1. 看板:自我管理的高效工具!
  2. 3D Item-Pallet-Bin packing problem
  3. 计算机网络面试问题汇总
  4. 关于ICMP与ping:计算机网络中的侦察兵
  5. 对于图片压缩的 三种方式
  6. WebRequest 请求
  7. CI24R1 2.4G低成本氛围灯解决方案
  8. java中调用dll文件的两种方法
  9. 计算机考证照片尺寸规格
  10. vue计算属性传参(computed)