基于Bootstrap仿Pinterest的网格瀑布流插件

网格布局 bootstrap 响应式 瀑布流 2017-04-10

控件介绍
Bootstrap-waterfall是一款基于Bootstrap仿Pinterest网站的网格瀑布流插件。该瀑布流插件支持响应式布局,使用简单,非常实用。
浏览器兼容

支持IE9+

演示下载 3603
使用方法

Bootstrap-waterfall瀑布流布局

安装

可以通过npm和bower来安装Bootstrap-waterfall插件。

1
2
$ npm install bootstrap-waterfall
$ bower install bootstrap-waterfall

使用方法

在页面中引入bootstrap相关文件,以及jquery和bootstrap-waterfall.js文件。

1
2
3
<link href="path/to/css/bootstrap.min.css" rel="stylesheet">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap-waterfall.js"></script>                 
HTML结构

使用一个<div>来作为瀑布流的容器。

1
2
3
<div id="waterfall-container">
    <!-- Should have markups of the list of pins here -->
</div>

在容器中可以放置列表或一组<div>元素。

1
2
3
4
5
6
7
8
9
<ul class="pin"><img src="" /></ul>
<ul class="pin"><img src="" /></ul>
<ul class="pin"><img src="" /></ul>
 
或者
 
<div class="pin"><img src="" /></div>
<div class="pin"><img src="" /></div>
<div class="pin"><img src="" /></div>                 

例如,如果使用的是无序列表,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<ul class="pin list-group">
  <li class="list-group-item">
    <a href="javascript:;">
      <img src="images/1.jpg" />
    </a>
  </li>
</ul>
<ul class="pin list-group">
  <li class="list-group-item">
    <a href="javascript:;">
      <img src="images/2.jpg" />
    </a>
  </li>
</ul>
<ul class="pin list-group">
  <li class="list-group-item">
    <a href="javascript:;">
      <img src="images/3.jpg" />
    </a>
  </li>
</ul>                 

需要注意的是,<img>标签需要使用一个<div>来包裹并为容器设置一个宽度:

1
2
3
<div class="pin">
  <img src="images/3.jpg" />
</div>                 
1
2
3
.waterfall .pin {
  width: 200px;
}                 
初始化插件

在页面DOM元素加载完毕之后,可以通过waterfall方法来初始化该瀑布流插件。

1
2
3
$(document).ready(function () {
  $('#waterfall-container').waterfall();
});             

小技巧

你可以将所有的项存储在一个指定类型的<script>标签中:

1
2
3
4
5
<script id="waterfall-template" type="text/template">
  <ul class="pin"><img src="" /></ul>
  <ul class="pin"><img src="" /></ul>
  <ul class="pin"><img src="" /></ul>
</script>                 

这样在刚开始页面加载的时候,浏览器会忽略这些标签。然后在使用的时候,将它们保持到容器的data对象中即可。

1
2
$('#waterfall-container').data('bootstrap-waterfall-template', $('#waterfall-template').html());
$('#waterfall-container').waterfall();              

Bootstrap-waterfall瀑布流布局插件的egithub地址为:https://github.com/Mystist/bootstrap-waterfall

本文转载请注明出处:http://www.zhuiye.com/detail_1286.html