CSS columns多列布局 实现瀑布流布局效果

CSS columns多列布局规范经常被忽略,我们可以通过CSS columns实现类似报纸上的文本内容排版一般亦或瀑布流排版布局。

我们通常使用CSS Grid Layout和Flexbox等布局方式的情况下,经常忽略另一种布局方法 - “CSS Columns”。

这篇文章N年前写过,由于迁站加之当时博客内容涉及杂乱,数据也就丢弃了😅。

我们对于新码首先想到的是在什么场景去使用,如何使用,是否简化。下面我们看看CSS中这个多列布局方式。

运用场景:内容块实现多列划分或瀑布流的方式排版布局。

也就是将一整块文本通过Column-Count和Column-Width对其进行分列或分栏实现排版布局效果。

最为常见的就是网站上的图文以"瀑布流"的方式排版。

CSS COLUMNS 多列布局

使用方法也比较简单,我们在父容器设置Column-Count: 属性即可实现其效果。

Column-Count // 列数Column-Gap // 列间距Break-Inside // 列或区块发生中断时候的表现/**更多属性查看其他文档*/Column-Rule-StyleColumn-Rule-WidthColumn-Rule-ColorColumn-RuleColumn-SpanColumn-Width

效果示例:

示例一个图文布局片段:

<Article><H1>CSS Column</H1><DivClass="List"><Figure><Figcaption>大雁塔</Figcaption><ImgSrc="9a5-481a-A431-1a0aac731a60.Jpg"/><P>大雁塔位于唐长安城晋昌坊(今陕西省西安市南)的大慈恩寺内,又名“慈恩寺塔”。唐永徽三年(652年),玄奘为保存由天竺经丝绸之路带回长安的经卷佛像主持修建了大雁塔,最初五层,后加盖至九层,再后层数和高度又有数次变更,最后固定为今天所看到的七层塔身,通高64.517米,底层边长25.5米。</P></Figure><Figure><Figcaption>兵马俑</Figcaption><ImgSrc="9a5-481a-A431-1a0aac731a6c.Jpg"/><P>兵马俑,即秦始皇兵马俑,亦简称秦兵马俑或秦俑,第一批全国重点文物保护单位,第一批中国世界遗产,位于今陕西省西安市临潼区秦始皇陵以东1.5千米处的兵马俑坑内。</P></Figure><Figure><Figcaption>西岳华山</Figcaption><ImgSrc="4bed2e738bd4b31c794ab3ed85d6277f9e2ff876.Jpg"/><P>中国著名的五岳之一,中华文明的发祥地,“中华”和“华夏”之“华”,就源于华山。</P></Figure><Figure><Figcaption>广仁寺</Figcaption><ImgSrc="178a82b901875ad89a7b8da9773812efa0.Jpg"/><P>西安广仁寺位于西安明城墙内西北角,为中国唯一绿度母主道场,也是陕西地区唯一的一座藏传格鲁派寺院,是清康熙四十四年(1705年),玄烨皇帝来陕西巡视时,拨专款敕建。</P></Figure></Div></Article>

.List{Width:980px;Margin:0 Auto;Column-Count:3;Column-Gap:5vw;-Webkit-Column-Break-Inside:Avoid;Page-Break-Inside:Avoid;Break-Inside:Avoid;}.List Figure{Height:100%;Margin:0;Overflow:Auto;}.List Figure Img{Width:Auto;Max-Width:100%;Height:Auto;}.List P{Font-Size:12px;Color:#999;}

这样就实现了其布局效果,里面需要注意的两点,不然图文排列区块中会出现中断(断裂,截断)效果。

Page-Break-Inside:Avoid;Break-Inside:Avoid;

若不设置,则会终端区块,同时还有Page-Break-Inside处理火狐浏览器下被截断。

还有一处就是我们如果设置了子元素为分列块及其效果渲染,就需要对其元素设置样式如下,否则也会被错位截断。

Height:100%;Overflow:Auto;

好了,就到这里,更多的属性查看文档.

原文来自:http://www.deathghost.cn/article/css/48

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Gogs 是 一个能够简单自建Git托管服务的开源项目,用 go 语言实现。Gogs 官方地址 概况 掌握了如何运...
    andy0898阅读 14,171评论 3 6

友情链接更多精彩内容