js插件---瀑布流Masonry

一、总结

一句话总结:还是要去看官网,比amazeui上面介绍的详细很多

1、瀑布流的原理是什么?

给外层套好相对定位,里面的每一个弄好绝对定位,然后计算出每一个的left和top即可。

2、瀑布流如何使用?

a、指定外层,这里是#container

b、给里面的每一个套上.item

c、指定不同列之间的间距,columnWidth:

当然,你需要事先定好.item的宽度

124 <script>
125 var container = document.querySelector('#container');
126 var msnry = new Masonry( container, {
127 itemSelector: '.item',
128 columnWidth: 30
129 });
130 </script>

二、瀑布流Masonry

百度盘下载:

链接:https://pan.baidu.com/s/1G0SMIGsfcszT8WfzUMvxUA 密码:qaex

官网地址:https://masonry.desandro.com/options.html

1、截图

 

2、代码

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title> <link rel="stylesheet" href="Css/amazeui.min.css">
<script src="Scripts/jquery.min.js"></script>
<script src="Scripts/amazeui.min.js"></script>
<script src="Scripts/masonry.pkgd.min.js"></script>
<style>
.item{
width: 30%;
}
</style>
</head>
<body>
<div id="container" style="padding-left: 30px;">
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面面板内容容面板内容面板内容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面板内容板内容容面板内容面板内容面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面面板内容容面板内容面板内容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容面板内容板内容容面板内容面板内容
</div>
</section>
</div>
<div class="item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">面板标题</h3>
</header>
<div class="am-panel-bd">
面板内容板内容容面板内容面板内容面板内容
</div>
</section>
</div> </div> </body>
<script>
var container = document.querySelector('#container');
var msnry = new Masonry( container, {
itemSelector: '.item',
columnWidth: 30
});
</script>
</html>

三、官网使用截取

HTML

Include the Masonry .js file in your site.

<script src="/path/to/masonry.pkgd.min.js"></script>

Masonry works on a container grid element with a group of child items.

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

CSS

All sizing of items is handled by your CSS.

.grid-item { width: 200px; }
.grid-item--width2 { width: 400px; }

Initialize with jQuery

You can use Masonry as a jQuery plugin: $('selector').masonry().

$('.grid').masonry({
// options
itemSelector: '.grid-item',
columnWidth: 200
});

Initialize with Vanilla JavaScript

You can use Masonry with vanilla JS: new Masonry( elem, options ). The Masonry() constructor accepts two arguments: the container element and an options object.

var elem = document.querySelector('.grid');
var msnry = new Masonry( elem, {
// options
itemSelector: '.grid-item',
columnWidth: 200
}); // element argument can be a selector string
// for an individual element
var msnry = new Masonry( '.grid', {
// options
});

Initialize in HTML

You can initialize Masonry in HTML, without writing any JavaScript. Add data-masonry attribute to the container element. Options can be set in its value.

<div class="grid" data-masonry='{ "itemSelector": ".grid-item", "columnWidth": 200 }'>
 

js插件---瀑布流Masonry的更多相关文章

  1. bootstrap+masonry.js写瀑布流

    最近在用bootstrap写一个网站,其中有个图文展示的页面要用到瀑布流的效果.因为项目要求,项目要以bootstrap为基准,不准私自添加内联样式.内部样式,所以,自己写瀑布流就不行了,所以,根据要 ...

  2. 原生JS实现瀑布流

    浏览网页的时候经常会遇到瀑布流布局的网站.也许有些读者不了解瀑布流.瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数 ...

  3. 用js实现瀑布流的一种简单方法

    现在说瀑布流式布局似乎有点晚了,但是每一项技术都是向着“精”和“简”的方向在不断发展,在发展到极致之前,需要一个相当漫长的过程,因此,从这个角度来说,当瀑布流被应用得越来越多的时候,反而更应该讨论它, ...

  4. js实现瀑布流的一种简单方法实例分享

    现在说瀑布流式布局似乎有点晚了,但是每一项技术都是向着“精”和“简”的方向在不断发展,在发展到极致之前,需要一个相当漫长的过程,因此,从这个角度来说,当瀑布流被应用得越来越多的时候,反而更应该讨论它, ...

  5. 手把手教你js原生瀑布流效果实现

    手把手教你js原生瀑布流效果实现 什么是瀑布流效果 首先,让我们先看一段动画: 在动画中,我们不难发现,这个动画有以下特点: 1.所有的图片的宽度都是一样的 2.所有的图片的高度是不一样的 3.图片一 ...

  6. [JS练习] 瀑布流照片墙

    记录JS实现瀑布流照片墙效果 首先是前端页面 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  7. 多栏布局与JS实现瀑布流

    css3属性之多栏布局与JS实现瀑布流 背景:之前打算自己总结一下flex布局的知识点,发现自己无从下手,原因在何处:我反思了一下,其实原因很简单,使用的次数少,更多的时间使用了百分比,浮动和定位解决 ...

  8. js原生瀑布流

    背景: 1.在移动端开发,jq文件是显得非常庞大的,所以所有效果尽量用HTML5和原生js实现. 2.本次瀑布流是固定列数,采用非浮动的另外一种瀑布流思想实现的. 3.本次数据来源是json接口 4. ...

  9. vue.js实现瀑布流之vue-waterfall-easy

    想必大家应该很多都已经习惯了jquery的DOM操作,jquery的瀑布流实现起来也很容易. 但是,随着时代的发展,随着时代的进步..... 算了算了,扯远了,既然能找到这儿来,肯定是在vue.js上 ...

随机推荐

  1. virt-install 创建虚拟机

    [root@kvm-server vm]# qemu-img create -f qcow2 centos69b-disk0.qcow2 10G Formatting 'centos69b-disk0 ...

  2. vue-cli 打包 使用 history模式 的后端配置

    apache的配置 这是windows下的 在httpd-vhosts.conf文件中把目录指向项目index.html文件所在的位置 # Virtual Hosts # <VirtualHos ...

  3. python set元素访问

    python中集合set主要利用其唯一性,及并集|.交集&等操作,但不可以直接通过下标进行访问,必须访问时可以将其转换成list再访问 x={1,2,5} y=list(x) a=y[1] a ...

  4. 【Henu ACM Round#24 A】k-String

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果是一个k-string的话. 考虑最后的串假设形式为sss..ss(k个s) 则s中出现的字母,整个串中最后出现的次数肯定为k的 ...

  5. libTIFF 图像读取与保存

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/YhL_Leo/article/details/49848391 1 头文件 libtif ...

  6. Obfuscating computer code to prevent an attack

    A method and system for obfuscating computer code of a program to protect it from the adverse effect ...

  7. 洛谷 P2730 魔板 Magic Squares

    P2730 魔板 Magic Squares 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 ...

  8. hdu5371Hotaru&#39;s problem manacher算法

    //给一个序列.让求其最大子序列 //这个序列由三段组成.第一段和第二段对称,第一段和第三段一样 //manacher算法求得p[i] //枚举第二段的起点和长度,得到结果 #include<c ...

  9. 51nod-1310: Chandrima and XOR

    [传送门:51nod-1310] 简要题意: 有一个数组S,保证里面的数是从小到大的,而且每一个数的二进制中都没有连续的1,如:1,2,4,5,8... 给出n,然后给出n个位置,求出S数组中n个位置 ...

  10. 递归神经网络——就是解决AST这样的问题

    原文:https://zybuluo.com/hanbingtao/note/626300 有时候把句子看做是词的序列是不够的,比如下面这句话『两个外语学院的学生』: 上图显示了这句话的两个不同的语法 ...