Bootstrap-waterfall是一款基于Bootstrap仿Pinterest网站的网格瀑布流插件。该瀑布流插件支持响应式布局,使用简单,非常实用。
安装
可以通过npm和bower来安装Bootstrap-waterfall插件。
$ npm install bootstrap-waterfall $ bower install bootstrap-waterfall
使用方法
在页面中引入bootstrap相关文件,以及jquery和bootstrap-waterfall.js文件。
<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>
来作为瀑布流的容器。
<div id="waterfall-container"> <!-- Should have markups of the list of pins here --> </div>
在容器中可以放置列表或一组<div>
元素。
<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>
例如,如果使用的是无序列表,代码如下:
<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>
来包裹并为容器设置一个宽度:
<div class="pin"> <img src="images/3.jpg" /> </div>
.waterfall .pin { width: 200px; }
初始化插件
在页面DOM元素加载完毕之后,可以通过waterfall
方法来初始化该瀑布流插件。
$(document).ready(function () { $('#waterfall-container').waterfall(); });
小技巧
你可以将所有的项存储在一个指定类型的<script>
标签中:
<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
对象中即可。
$('#waterfall-container').data('bootstrap-waterfall-template', $('#waterfall-template').html()); $('#waterfall-container').waterfall();
Bootstrap-waterfall瀑布流布局插件的egithub地址为:https://github.com/Mystist/bootstrap-waterfall