这是一款仿Pinterest网站的简单实用的响应式网格瀑布流布局jQuery插件。该瀑布流插件通过简单的CSS和js代码制作出流式布局的网格系统,并通过媒体查询来控制网格的响应式效果。
使用方法
使用该网格瀑布流布局需要引入jQuery和jaliswall.js文件。
<script src="dist/jquery.min.js"></script> <script src="dist/jaliswall.js"></script>
HTML结构
该瀑布流特效使用一个<div>
作为包裹容器。在它里面,可以使用<a>
元素来包裹图片和它的标题元素。
<div class="wall"> <a class="wall-item" href="#"> <img src="1.jpg"> <h2>wall-item 1</h2> </a> <a class="wall-item" href="#"> <img src="2.jpg"> <h2>wall-item 2</h2> </a> <a class="wall-item" href="#"> <img src="3.jpg"> <h2>wall-item 3</h2> </a> ... </div>
CSS样式
需要为该瀑布流特效添加下面的一些必要的CSS样式。
.article { display: block; margin: 0 0 30px 0; padding: 12px; background: white; border-radius: 3px; box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05); transition: all 220ms; } .article:hover { box-shadow: 0px 2px 3px 1px rgba(0, 0, 0, 0.1); transform: translateY(-5px); transition: all 220ms; } .article > img { display: block; width: 100%; margin: 0 0 24px 0; } .article h2 { text-align: center; font-size: 14px; text-transform: uppercase; margin: 0 0 12px 0; } .wall { display: block; position: relative; } .wall-column { display: block; position: relative; width: 25%; float: left; padding: 0 12px; box-sizing: border-box; } @media (max-width: 640px) { .wall-column { width: 50%; } } @media (max-width: 480px) { .wall-column { width: auto; float: none; } }
其中.wall-column
的width
属性用于控制每行显示多少列,例如,要想每行显示3列,可以设置为width:33.333333%
。
初始化插件
在页面DOM元素加载完毕之后,可以通过下面的方法来初始化该网格瀑布流插件。
$(function(){ $('.wall').jaliswall(); });
配置参数
该网格瀑布流插件有两个可用的配置参数。
item
:瀑布流网格项的class。默认值'.wall-item'
。columnClass
:网格列的class。默认值为'.wall-column'
。