栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

浅谈瀑布流

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈瀑布流

瀑布流又称瀑布流式布局,是比较流行的一种网站页面布局方式。视觉表现为参差不齐的多栏布局,最早采用此布局的是网站是 Pinterest,后逐渐在国内流行。

瀑布流布局效果

即多行等宽元素排列,后面的元素依次添加到其后,等宽不等高,根据图片原比例缩放直至宽度达到我们的要求,依次按照规则放入指定位置。

那么规则是什么呢?
下面通过图解来分析一下瀑布流的算法。

图解瀑布流算法

当第一排排满足够多的等宽图片时(如下图情况),自然而然的考虑到之后放置的图片会往下面排放。

那么第六张图片,放置在什么位置呢?是下图的位置么?

我们通过瀑布流算法实验得到,后面紧跟的第六张图片的位置应该是这个位置。

为什么呢?
因为放置它之前,这一列的高度为所有列中最小,所以会放置在这个地方。
所以我们知道了,如果再继续放置下去,第七张图片应该是这个位置,对吗?

通过瀑布流算法实验得出位置正确。看懂这个图示应该就能理解了瀑布流的原理算法。


JS 实现代码

这里使用了jQuery


Demo 演示

瀑布流 Demo 效果


总结瀑布流布局原理
  • 设置图片宽度一致

  • 根据浏览器宽度以及每列宽度计算出列表个数,列表默认0

  • 当图片加载完成,所有图片依次放置在最小的列数下面

  • 父容器高度取列表数组的最大值


实战相关

瀑布流 + 懒加载 实现新闻站



作者:evenyao
链接:https://www.jianshu.com/p/cea62b6868ce

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/246197.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号