您现在的位置是:网站首页> 编程资料编程资料
利用column多列属性调整页面文字列布局基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享CSS3 Columns分列式布局方法简介
2021-09-05
884人已围观
简介 这篇文章主要介绍了利用column多列属性调整页面文字列布局的方法,文章中对column-count和column-width两个常用属性的调试做了细致的讲解,需要的朋友可以参考下
column多列属性
column-count:栏目数
兼容性写法:
- -webkit-column-count:3
- -moz-column-count:3
column-width 属性规定列的宽度。
column-gap属性规定列之间的间隔
column-rule 属性设置列之间的宽度、样式和颜色规则。
CSS3中新出现的多列布局(multi-column)是传统HTML网页中块状布局模式的有力扩充。这种新语法能够让WEB开发人员轻松的让文本呈现多列显示。我们知道,当一行文字太长时,读者读起来就比较费劲,有可能读错行或读串行;人们的视点从文本的一端移到另一端、然后换到下一行的行首,如果眼球移动浮动过大,他们的注意力就会减退,容易读不下去。所以,为了最大效率的使用大屏幕显示器,页面设计中需要限制文本的宽度,让文本按多列呈现,就像报纸上的新闻排版一样。
但是在CSS3的多列布局(columns)语法功能出现之前,人们如果想让文本呈多列显示,要么使用绝对定位,手动给文本分段落,或者使用JS脚本等,而新语法的出现,彻底改变了这样的局面。
多列(columns)的用法
列个数 和 列宽度
不管想让一段文本呈多少列显示,你需要的只是两个属性:column-count 和 column-width。
column-count 属性设置列的具体个数,例如:
这将会使文本里的内容显示成两列(首先你的浏览器要支持这种新语法,比如火狐浏览器、谷歌浏览器,IE10+等):
column-width属性控制列的宽度。如果你没有提供column-count属性值,那么,浏览器就是自主决定将文本分成合适的列数。
就变成了这样:
在一个多列的文本块里,文本内容会自动的一列一列的填充。
多列布局columns语法简写
大多时候,WEB程序员只需要同时使用这两个属中的一个:column-count 或 column-width。或者两个同时使用,幸运的是,这两个属性的属性值是不同单位,不会搞混,所以就有了简写方式,columns,例如:
我们之前写的 column-width:12em 可以用下面的写法替换:

而之前写的 column-count:4 可以用以下语法简写替换:

而同时声明了 column-width:8em 和 column-count:12 的情况可以用以下简写替换:

列高度的平衡
CSS3规范里描述的是,各列的高度是均衡的,浏览器会自动调整每列里填充多少文本、均分文本,来使各列的高度保持均衡一致。
然而,有时候,我们需要设定列的最大高度,这个时候,文本内容会从第一列开始填充,然后第二列,第三列,也许以后的列会填不满,也许会溢出。所以,当对多列布局设定了height或max-height属性值后,列会伸长到指定高度——无论内容有多少,够不够或超不超。
列之间的缝隙间隔宽度
两列之间会有缝隙间隔。缺省情况下这个间隔宽度是1em,但如果你使用column-gap属性,就会修改这个缺省的宽度值:
列布局的浏览器完美兼容
对于一些不支持多列布局特征的浏览器,比如IE9/IE8,会把这些属性全部忽略,这样布局就呈现出传统的单块布局。
为了保证浏览器最大的兼容性,我们在使用多列布局属性时,最好添加浏览器引擎前缀,最基本的要加上三种:谷歌浏览器的-webkit-,火狐浏览器的-moz-,IE浏览器的-ms-,最后,别忘了不带前缀的写法。
总结
CSS3的多列布局(columns)是一种方便WEB开发者高效利用宽屏显示器的非常有用的功能特征。你会发现在很多地方都需要用到它们,特别是需要自动平衡列高度的地方。
相关内容
- 详解CSS3中使用gradient实现渐变效果的方法使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
- CSS属性简写和选择器的优先级问题 CSS属性简写整理CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
- CSS中的font-size属性使用教程
- 详解CSS中视窗单位和百分比单位的使用分享7个你可能不认识的CSS单位
- CSS中的下划线text-decoration属性使用进阶解决Dreamweaver中关于应用CSS的小问题详解CSS 文字装饰 text-decoration & text-emphasis
- 浅谈CSS响应式图片运用中的srcset属性
- CSS中的层分离编程详解CSS中下拉菜单和表单以及弹出层的简单笔记CSS层透明实现方法css实现鼠标悬停时滑出层提示的方法
- 全方位了解CSS3的Regions扩展css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- 让Div实现水平或垂直居中的相关方法不定宽高的文字在div中垂直居中实现方法关于div中img,span垂直居中的问题div中内容上下居中小结css中position:fixed实现div在窗口上下左右居中css中position:fixed实现div居中上下左右居中DIV+CSS中让布局、背景图片、文字内容居中的方法IE9下DIV本来应该居中的结果显示为居左DIV+CSS垂直居中一个浮动元素CSS实现DIV居中的三种方法
- Visual Foxpro 6.0 中文版安装向导(图解)Visual Foxpro 6.0(VFP6.0)程序设计教程 word版Visual FoxPro 6.0 中文版程序员指南 WDL版Visual Foxpro 6.0(vfp6.0开发运行环境) 简体中文版(64M)Visual Foxpro 6.0 中文版安装图文教程Visual Foxpro 6.0 教程 基础入门 Visual FoxPro v6.0 绿色特别精简版