0


开源瀑布流插件Masonry.js: 轻松在你的网站实现瀑布流布局

嗨, 大家好, 我是徐小夕.

之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:

  • Nocode/Doc,可视化+ 零代码打造下一代文件编辑器
  • 爆肝1000小时, Dooring零代码搭建平台3.5正式上线
  • 可视化表单&试卷搭建平台技术详解

最近在做无代码平台的模版列表的时候, 需要使用瀑布流布局, 类似下面这种:

ce7506776bb1d59db44c2539d8aa833b.png

为了研究市面上比较成熟的瀑布流方案, 我在github上找呀找, 突然, 发现了一款设计非常巧妙的方案——Masonry.

5fb2fe051d3e4e53dfd4961dce76c3ce.png

Masonrygithub 上非常火, 目前已有 16.3k star, 有很多网站都采用它的方案实现瀑布流布局. 在文末我会附上这个开源项目的地址, 方便大家学习参考.

接下来我就带大家研究一下这个库, 并快速应用到自己的项目中.

什么是 Maronry

fe8b1df4d2d907dff443ed165f6e7def.png

Masonry 是一个 JavaScript 网格布局库。它的工作原理是根据可用的垂直空间将元素放置在最佳位置,有点像泥瓦匠在墙上安装石头。我们在互联网上也许看到过很多瀑布流的案例.

接下来给大家演示一个使用案例:

682e4c1c5ac5f9fdeb8cdce72a83613a.gif

另一个比较有意思的案例:

6173f64cbeb8567a7d3e14e35da55f01.gif

当我们动态添加元素的时候, 它可以智能的安排好元素的位置.

再联想一下, 我们玩的消消乐小游戏和拼图类小游戏, 是不是也能用它一键实现呢?

71acf5d67e8d63f2e71b02de96b0a45f.gif

如何使用 Maronry

Maronry 支持 **CDN **导入和 **npm **安装使用, 这里我介绍一下 **npm **的安装和使用方式.

npm install masonry-layout

我们安装好之后可以先编写一下

html

结构:

<div class="grid">
  <div class="grid-item">FlowMix</div>
  <div class="grid-item grid-item--width2">H5</div>
  <div class="grid-item">Dooring</div>
</div>

接下来我们就可以直接使用这个库来初始化瀑布流布局了:

var elem = document.querySelector('.grid');
var msnry = new Masonry( elem, {
  // options
  itemSelector: '.grid-item',
  columnWidth: 200
});

// 元素参数是一个选择器字符串
var msnry = new Masonry( '.grid', {
  // options
});

使用起来就是这么简单, 当然文档上还有很多高级用法, 我们也可以学习参考一下:

https://masonry.desandro.com/

分享几个更高级的案例

  1. 瀑布流布局动画0dffff06659ac5d21ccf97115a5dfd58.gif

2. 瀑布流3D动画

57910198012bc75cec754d73057f78bf.gif

技术交流

我建了一个技术学习交流群, 如果大家感兴趣可以在《趣谈前端》公众号加我微信进群~

f8383418284d20c317f257a8294de937.png

最后

好啦, 今天的分享就到这, 欢迎随时和我留言反馈,建议,技术交流~

上述项目的GitHub地址:

https://github.com/desandro/masonry

大家也可以关注我的视频号小夕说,后续会做更多的独立产品经验分享~

往期精彩:
  • Nocode/Doc,可视化+ 零代码打造下一代文件编辑器
  • 爆肝1000小时, Dooring零代码搭建平台3.5正式上线
  • 可视化表单&试卷搭建平台技术详解

本文转载自: https://blog.csdn.net/KlausLily/article/details/141346967
版权归原作者 徐小夕@趣谈前端 所有, 如有侵权,请联系我们删除。

“开源瀑布流插件Masonry.js: 轻松在你的网站实现瀑布流布局”的评论:

还没有评论