瀑布流式布局(解决div等宽不等高,实现紧挨效果) |
您所在的位置:网站首页 › 福建紧挨哪里 › 瀑布流式布局(解决div等宽不等高,实现紧挨效果) |
为什么要有瀑布流: 由于div高度不一样,不管是左浮动还是inline-block,同级的div都会平行显示(会有空白部分)。
没有加的效果:
加了瀑布流效果样子:
瀑布流实现方式: 1. css + js (难点) : 需要通过js计算图片的位置,进行正确排放,顺序不会乱,可持续加载新的数据 2. 纯css(简单) : 数据排序方式是列排序的,当有新的数据持续加载进入不合适,但是性能高、简单
视频教程: # 慕课网的 瀑布流布局教程视频 https://www.imooc.com/learn/101
第一种方法: 思路: 首先瀑布流的特点是 等宽不等高,需要获取到盒子的宽度,计算出多少列,拿到第一行每个盒子的高度数组,从第二行第一个开始,依次找最矮盒子的高度位置进行位置偏移即可,之后累加列高度,从而使整个页面的盒子紧挨。 ![]() ![]() // 图片素材自己找点(30张图片),就可以看运行效果了
第二种方法: .my-card-wrapper{ -moz-column-count:2; -webkit-column-count:2; column-count:2; -moz-column-gap:0; -webkit-column-gap:0; padding-top: 0.5em; } .my-card{ border: 1px solid #cccccc; padding: 8px; border-radius: 10px; -moz-page-break-inside: avoid; -webkit-column-break-inside: avoid; break-inside: avoid; margin: 0 0.5em 0.5em; }// 斜体加粗部分是关键代码
代码解释: column-count # 流式布局几列显示 -moz-column-count:2; # 为了适配不同浏览器 -webkit-column-count:2; # 为了适配不同浏览器 -webkit-column-gap:0; # 列之前的间隔,有默认间隔值,为了不影响效果,我改的0,自己做边距 break-inside: avoid; # 防止多列布局,分页媒体和多区域上下文中的意外中断?? 不懂设置上即可 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |