这是一款仿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 220 ms; } .article:hover { box-shadow : 0px 2px 3px 1px rgba( 0 , 0 , 0 , 0.1 ); transform : translateY ( -5px ); transition : all 220 ms; } .article > img { display : block ; width : 100% ; margin : 0 0 24px 0 ; } .article h 2 { 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'
。