jQuery Masonry-强大的动态不规则布局插件,让你的网页更自然

Masonry是 一款非常强大的jQuery动态网格布局插件,可以帮助开发人员快速开发类似剪贴画的界面效果。和CSS中float的效果不太一样的地方在 于,float先水平排列,然后再垂直排列,使用Masonry则垂直排列元素,然后将下一个元素放置到网格中的下一个开发区域。这种效果可以最小化处理 不同高度的元素在垂直方向的间隙。如下:

在上图中大家可以看到,在网格布局中使用float来处理不同高度的元素会使得垂直方向的元素间间隔比较大,而使用Masonry处理后,间隔变小。

用法

首先倒入类库,如下:

.代码  
  1. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js">   
  2. </script><script src="/path/to/jquery.masonry.min.js"></script>  

 

 

然后,针对元素容器执行masonry,如下:

.代码  
  1. $(function(){    
  2.   $(‘#container‘).masonry({    
  3.     // options    
  4.     itemSelector : ‘.item‘,    
  5.     columnWidth : 240    
  6.   });    
  7. });  

 

 

html代码

.代码  
  1. <div id="container">    
  2.   <div class="item">...</div>    
  3.   <div class="item">...</div>    
  4.   <div class="item">...</div>    
  5.   ...    
  6. </div>  

 

css

.代码  
  1. .item {    
  2.   width: 220px;    
  3.   margin: 10px;    
  4.   float: left;    
  5. }  

 

如果你加载的元素中有图片的话,那么需要确保Masonry在所有图片都加载完后才执行,需要调用如下代码:

.代码  
  1. var $container = $(‘#container‘);    
  2. $container.imagesLoaded(function(){    
  3.   $container.masonry({    
  4.     itemSelector : ‘.item‘,    
  5.     columnWidth : 240    
  6.   });    
  7. });  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。