您现在的位置是:网站首页> 编程资料编程资料
详解纯css实现瀑布流(multi-column多列及flex布局)3种方式实现瀑布流布局小结css3 column实现卡片瀑布流布局的示例代码用CSS3实现瀑布流布局的示例代码CSS3实现瀑布流布局与无限加载图片相册的实例代码瀑布流布局的两种实现方式:传统多列浮动和绝对定位布局waterfall瀑布流布局+动态渲染的实现
2021-09-04
874人已围观
简介 这篇文章主要介绍了详解纯css实现瀑布流(multi-column多列及flex布局)的相关资料,用multi-column多列布局及flex布局实现瀑布流,感兴趣的小伙伴们可以参考一下
瀑布流的布局自我感觉还是很吸引人的,最近又看到实现瀑布流这个做法,在这里记录下,特别的,感觉flex布局实现瀑布流还是有点懵的样子,不过现在就可以明白它的原理了
1.multi-column多列布局实现瀑布流
先简单的讲下multi-column相关的部分属性
column-count设置列数column-gap设置列与列之间的间距column-width设置每列的宽度
还要结合在子容器中设置break-inside防止多列布局,分页媒体和多区域上下文中的意外中断
break-inside属性值
- auto 指定既不强制也不禁止元素内的页/列中断。
- avoid 指定避免元素内的分页符。
- avoid-page 指定避免元素内的分页符。
- avoid-column 指定避免元素内的列中断。
- avoid-region 指定避免元素内的区域中断。
截取了部分,可自己填充
/* html文件 */牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
/* css样式 */ body { background: #e5e5e5; } /* 瀑布流最外层 */ #root { margin: 0 auto; width: 1200px; column-count: 5; column-width: 240px; column-gap: 20px; } /* 每一列图片包含层 */ .item { margin-bottom: 10px; /* 防止多列布局,分页媒体和多区域上下文中的意外中断 */ break-inside: avoid; background: #fff; } .item:hover { box-shadow: 2px 2px 2px rgba(0, 0, 0, .5); } /* 图片 */ .itemImg { width: 100%; vertical-align: middle; } /* 图片下的信息包含层 */ .userInfo { padding: 5px 10px; } .avatar { vertical-align: middle; width: 30px; height: 30px; border-radius: 50%; } .username { margin-left: 5px; text-shadow: 2px 2px 2px rgba(0, 0, 0, .3); }

2.flex布局实现瀑布流将外层设置为row布局,然后再设置一个容器并设置为column布局,它是将列作为一个整体,然后在对列进行划分,在列里进行宽固定来实现的
/* html文件(只截取两列布局)*/牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
牵起你的左手护着你
/* css文件 */ body{ background: #e5e5e5; } #root{ display: flex; flex-direction: row; margin: 0 auto; width: 1200px; } .itemContainer{ margin-right: 10px; flex-direction: column; width: 240px; } .item{ margin-bottom: 10px; background: #fff; } .itemImg{ width: 100%; } .userInfo { padding: 5px 10px; } .avatar { vertical-align: middle; width: 30px; height: 30px; border-radius: 50%; } .username { margin-left: 5px; text-shadow: 2px 2px 2px rgba(0, 0, 0, .3); }
实践后发现,纯css实现的瀑布流只能是一列一列的排布,所以还是得用js来实现瀑布流更符合我们常见的瀑布流
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- 使用css使div占满整个屏幕的实现方法详解CSS3原生支持div铺满浏览器的方法
- 详解CSS3原生支持div铺满浏览器的方法
- CSS实现图片等比例缩小不变形的实例代码关于css控制图片大小不变形的实现思路CSS完美解决前端图片变形问题的方法
- css实现带箭头和圆点的轮播通过css动画实现一个表格滚动轮播效果CSS3制作轮播图的一种方法纯HTML和CSS实现JD轮播图效果利用 CSS3 实现的无缝轮播功能代码HTML+CSS+JS实现堆叠轮播效果的示例代码
- 23种CSS垂直居中技巧
- 浅谈最全面的水平垂直居中方案与flexbox布局 利用CSS3的flexbox实现水平垂直居中与三列等高布局Flexbox制作CSS布局实现水平垂直居中的简单实例CSS3的Flexbox骰子布局的实现及问题讲解基础的CSS3弹性盒Flexbox布局使用实例CSS3的Flexbox布局的简明入门指南css使用flexbox布局容器内多元素水平居中
- css实现导航切换的实例代码CSS 带搜索导航栏的示例代码html+css+js实现导航栏滚动渐变效果css锚点定位被顶部固定导航栏遮住的解决方案不可思议的CSS导航栏下划线跟随效果html+css 实现简易导航栏功能CSS导航条菜单之带小三角形的实现代码CSS设置列表样式和创建导航菜单实现代码CSS中的导航栏和下拉菜单的实现纯CSS + 媒体查询实现网页导航效果CSS3 二级导航菜单的制作的示例
- CSS代码实现三角形和饼图DIV+CSS实现带三角箭头的提示框 用CSS制作三角形和按钮的简单实例CSS仿网易首页的头部菜单栏按钮和三角形制作方法利用CSS伪元素创建带三角形的提示框的实现方法纯CSS绘制三角形箭头图案技术解析css绘制透明三角形解决纯css写三角形在firefox下的锯齿问题
- 深入理解CSS overflow:hidden——溢出,坍塌,清除浮动css中position:relative和overflow:hidden之间的问题CSS--overflow:hidden在项目实例中使用心得分享IE8 css overflow:hidden不起作用CSS教程:CSS让网页文字自动隐藏css中overflow:hidden失效问题的解决方法
- 详解CSS定义字体、颜色、背景等属性简述CSS中的背景属性backgroundcss3实现一个div设置多张背景图片及background-image属性实例演示css 背景固定样式background-attachment属性基础CSS的background属性及CSS3的背景图片设置总结详解CSS3新增的背景属性








