CSS3column多列布局介绍_html/css_WEB-ITnose
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CSS3column多列布局介绍_html/css_WEB-ITnose,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2308字,纯文字阅读大概需要4分钟。
内容图文
![CSS3column多列布局介绍_html/css_WEB-ITnose](/upload/InfoBanner/zyjiaocheng/409/89a4c179cb454b889705233f7bb5dfe8.jpg)
在我不知columns这属性之前,第一反应是:这有何难,多弄几个并列的div不就行了?但仔细想想确实很难实现,因为内容是动态的。搞几个div容易,但每个div内放多少文字呢?一篇文章该在哪行哪段剪切进不同的div内呢?你肯定不愿意为每一段文字,都在特定的地方插入div标签,那代码重用性太低了。而column属性完美的解决了这个问题,让浏览器来决定在文字该在哪里换列。你所做的只需指定每列的宽度和列数即可。
先来看看columns和它的子属性:
- column-width
- column-count
- column-gap
- column-rule
- column-span
- column-fill
column-width给列定义个最小的宽度。默认值为auto表示将根据column-count列的数量自动调整列宽。
column-count最大列数,不赘述。
通常上面两个参数都合并在columns中一起指定。例如columns: auto 4;就是上图的效果,会将div分成4列,并根据div的宽度640px,均分列宽为160px(其实不到160px,因为还有列间距)。代码如下:
.wrapper { -moz-columns: auto 4; -webkit-columns: auto 4; columns: auto 4;}...大段文字…
上述实现简单到有的过分,现在看看更灵活的用法。上例中外层div是定宽640px,因此通过计算后得到的列宽也是固定的。无论你如何缩放浏览器窗口大小,都固定4列。这样显得不够灵活。
如果想要根据窗口尺寸自适应,随着窗口拉窄,从4列逐渐变为1列,随着窗口拉宽,再从1列逐渐变为4列。首先你需要将外层div从定宽width: 640px;改成动态宽度width: 50%;。其次columns-width不能同时为auto,否则会根据div动态宽度得到列宽,仍旧固定为4列。所以columns-width需要为定值。效果可以点这里,并且拉伸浏览器窗口试试。
column-gap是列间距,默认值normal,相当于1em。需要注意的是,如果column-gap与column-width加起来大于总宽度的话,就无法显示column-count指定的列数,会被浏览器自动调整列数和列宽
column-rule用于设置列的边框,类似于border,区别是不占用任何空间,因此设了column-rule不会导致列宽的变化。另外如果边框宽度大于column-gap列间距,将不会显示边框。语法和border类似,例如column-rule: 1px solid #000;。效果见例子页面。
column-span用于跨列,默认值none表示不跨列,all表示跨越所有列。例如文章标题可以设成all来跨列。效果见例子页面
column-fill用于统一列高。默认值auto各列的高度随内容自动调整,balance所有列高都设为最高的列高
总结
columns属性最大的问题还是浏览器兼容性问题,参见Can I Use。而且竖版排列暂时用的地方不多,这个属性是否能流行闪光尚存疑问。如果内网有这方面的需求,用用还是极好的。
内容总结
以上是互联网集市为您收集整理的CSS3column多列布局介绍_html/css_WEB-ITnose全部内容,希望文章能够帮你解决CSS3column多列布局介绍_html/css_WEB-ITnose所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。