最小的响应式动态网格瀑布流布局js插件

所属分类:UI-布局

 31483  354  查看评论 (5)
分享到微信朋友圈
X
最小的响应式动态网格瀑布流布局js插件 ie兼容9

简要教程

minigrid是一款非常实用的动态网格瀑布流布局js插件。该瀑布流插件的大小只有2KB,纯js编写,没有任何外部依赖。你可以使用CSS3CSS3动画

来制作简单的网格动画,也可以和dynamics.js集合来制作炫酷的网格动画。

安装

你可以通过nmp或bower来安装该网格瀑布流插件。

  • npm install minigrid

  • bower install minigrid                

使用方法

使用时需要引入minigrid.js文件。

<script src="js/minigrid.js"></script>

HTML结构

该网格瀑布流的HTML结构使用嵌套<div>的HTML结构。

<div class="grid">
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
</div>

CSS样式

你需要为这个网格瀑布流布局设置一些基本样式。包裹容器div.grid建议设置为相对定位方式。

.grid {
  position: relative;
}

然后为网格项设置决定定位方式。

.grid-item {
  position: absolute;
}

初始化插件

在页面加载之后,可以通过下面的方法来初始化该网格瀑布流插件。

minigrid('.grid', '.grid-item');

API

构造函数

  • minigrid(containerSelector, itemSelector, gutter, animate, done)                

  • containerSelector:String。包裹容器的选择器。该参数必须指定。

  • itemSelector:String。网格项的选择器。该参数必须指定。

  • gutter:Number。网格之间的间隙。默认值为6。

  • animate:function。网格动画。可选项。

  • done:function。网格更新之后的回调函数。

animate参数:

该参数是一个带element,x,y和index的函数。

function animate(el, x, y, index) {
  // 在这里可以使用你的动画库来制作动画
}
minigrid('.grid', '.grid-item', 6, animate);

响应式

要制作响应式的网格布局,你可以为window对象添加事件监听。

window.addEventListener('resize', function(){
  minigrid('.grid', '.grid-item');
});

动画

你可以使用CSS3的transition来制作简单的网格动画效果。

.grid-item {
  transition: .3s ease-in-out;
}

或者你可以结合Dynamics.js动画库来制作更为复杂和炫酷的网格动画效果。

function animate(item, x, y, index) {
  dynamics.animate(item, {
    translateX: x,
    translateY: y
  }, {
    type: dynamics.spring,
    duration: 800,
    frequency: 120,
    delay: 100 + index * 30
  });
}
 
minigrid('.grid', '.grid-item', 6, animate);


相关插件-布局

jQuery瀑布流插件bootstrap-waterfall.js

jQuery图片瀑布流布局,Bootstrap响应式图片瀑布流样式,仿Pinterest图片网格布局效果。
  布局
 50986  380

完整的商城购物页面+个人中心

完整的商城购物页面,包括商品页已经个人中心页
  布局
 38637  396

Materialize Material设计后台模板HTML后台系统框架

Materialize管理模板基于谷歌Material设计,一个多用途管理模板。
  布局
 63534  764

好用的后台样式查询

好用的后台框架。
  布局
 67399  596

讨论这个项目(5)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    谎?惜萱 0
    2021/6/2 17:29:32
    gutter后边只能写一个值吗 不能写上右下左四个值?那要只设置右边间距 上下左的间距为0怎么写 回复
    随风而逝 0
    2017/11/30 14:56:46

    移动端能用么?

    回复
    总督sir 0
    2017/11/16 16:41:28
    建议最好配合页面加载完成情况在加载js,不然如果图片过大,js提前执行,图片就重叠了 回复
    Mss。 0
    2016/8/11 15:08:40
    宽度到601px的时候重叠了,可以测测看。 回复
    山丘的彼方 0
    2016/8/11 11:08:08
    提到npm就脑袋疼・・・ 回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复