天天看点

简单实用的jQuery响应式网格瀑布流布局代码解析/附源码下载

简单实用的jQuery响应式网格瀑布流布局代码解析/附源码下载

简要说明

这是一款仿Pinterest网站的简单实用的响应式网格瀑布流布局js插件。该js插件通过简单的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'。

源码演示/下载请点击阅读原文

↓↓↓↓↓↓