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

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

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

图片图片

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

图片图片

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

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

什么是 Maronry

图片图片

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

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

图片图片

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

图片图片

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

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

图片图片

如何使用 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. 瀑布流布局动画

图片图片

2. 瀑布流3D动画

图片图片


责任编辑:武晓燕 来源: 趣谈前端
相关推荐

2013-02-19 10:24:47

瀑布流布局CSS

2012-05-02 13:53:00

JavaScript

2021-08-09 07:26:33

瀑布流布局代码

2024-09-03 17:04:15

前端算法布局

2015-02-26 18:09:29

WaterFall V瀑布流Dynamic Gri

2015-02-02 16:21:26

android瀑布流图片加载

2013-04-03 15:45:51

Android瀑布流android_wat

2012-06-15 09:35:42

JavaScript

2022-04-14 15:53:12

开发瀑布流组件

2023-12-29 08:06:40

开源软件导航前端

2023-05-10 09:04:10

promise场景业务

2015-04-22 11:29:45

PythonPython创建瀑布图

2017-01-19 21:54:10

iOS布局框架Masonry

2019-08-27 09:00:00

敏捷开发开发方法项目

2012-05-28 13:56:41

Web

2011-06-02 14:38:49

jQuery插件

2023-01-04 09:40:32

敏捷开发

2021-11-02 14:52:17

鸿蒙HarmonyOS应用

2014-10-21 17:34:11

HTML5移动设计

2014-08-07 10:09:51

微软敏捷开发
点赞
收藏

51CTO技术栈公众号