CSS3 Columns分列式布局方法简介


Posted in HTML / CSS onMay 03, 2014

幸运的是,CSS3里提供了一批新的创建列式布局的column属性,有了这些属性,我们不需要再使用float,clear,margin等属性进行调控,避免了很多麻烦。

CSS代码

CSS3里的column系列属性提供了各种不同的功能,通过组合使用它们,你能得到相应的任何分栏式布局:

1.column-count: 列数目
2.column-gap: 各列之间间隙宽度
3.column-width: 建议宽度;未必会使用,浏览器基于此数值进行计算
4.column-rule-width:列之间分割线宽度
5.column-rule-style:列之间分割线风格
6.column-rule-color:列之间分割线演示
7.column-span: 允许一个元素的宽度跨越多列
8.column-fill: 分列方式

要想制作出一个漂亮的分列布局,你至少需要用到column-count和column-gap:

复制代码
代码如下:

/* 3 列,每列之间10px间距 */
ul.col-3 {
column-count: 3;
column-gap: 10px;
}

如果你想美化一下列之间的空隙,这也很简单:
复制代码
代码如下:

/* 3 列,每列之间10px间距 ,带有金色的隔离线 */
ul.col-3 {
column-count: 3;
column-gap: 10px;
column-rule: 1px solid #fc0;
}

指定的元素还可以横跨多列:
复制代码
代码如下:

/* 以下面的HTML为例:</p> <p><div class="col-3 lazy ">
<h3>表头!</h3>
<div>列 1</div>
<div>列 2</div>
<div>列 3</div>
<div>列 4</div>
<div>列 5</div>
<div>列 6</div>
<div>列 7</div>
<div>列 8</div>
<div>列 9</div>
<div>列 10</div>
<div>列 11</div>
<div>列 12</div>
</div></p> <p> */
div.col-3 {
column-count: 3;
column-gap: 5px;
}</p> <p>div.col-3 h2 {
column-span: all;
text-align:center;
background: #eee;
}

非常的简单,而且显示结果完全符合我们的预期!

使用CSS3的columns制作页面布局有很多优势:你不需要计算宽度,你不需要担心内容是否会撑破布局,这些数学问题系统都会帮你计算。还有一个,那就是清晰整洁的语义。

HTML / CSS 相关文章推荐
CSS中一些@规则的用法小结
Mar 09 HTML / CSS
html5+css3之动画在webapp中的应用
Nov 21 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
May 09 HTML / CSS
css3 flex实现div内容水平垂直居中的几种方法
Mar 27 HTML / CSS
CSS3 真的会替代 SCSS 吗
Mar 09 HTML / CSS
HTML5之SVG 2D入门10—滤镜的定义及使用
Jan 30 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
Jul 07 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
Aug 18 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
Nov 14 HTML / CSS
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
Mar 30 HTML / CSS
CSS中calc(100%-100px)不加空格不生效
May 07 HTML / CSS
css3 2D图片转动样式可以扩充到Js当中
Apr 29 #HTML / CSS
CSS实现的一闪而过的图片闪光效果
Apr 23 #HTML / CSS
CSS改变网页中鼠标选中文字背景颜色例子
Apr 23 #HTML / CSS
CSS的pointer-events属性详细介绍(作用和注意事项)
Apr 23 #HTML / CSS
纯CSS实现菜单、导航栏的3D翻转动画效果
Apr 23 #HTML / CSS
css3和jquery实现自定义checkbox和radiobox组件
Apr 22 #HTML / CSS
css3实现垂直下拉动画菜单示例
Apr 22 #HTML / CSS
You might like
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
js资料toString 方法
2007/03/13 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python 用户登录验证的小例子
2013/03/06 Python
python中的多线程实例教程
2014/08/27 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
护理专业应届毕业生推荐信
2013/11/15 职场文书
问卷调查计划书
2014/01/10 职场文书
《我的信念》教学反思
2014/02/15 职场文书
文员求职信
2014/07/15 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
大学生毕业评语
2014/12/31 职场文书