自适应的网格布局-砌墙效果

我们使用新浪微博的时候,在“微博精选”页面里可以看到大量的微博信息。该页面信息主要是以图片配文字说明,页面使用了自适应网格布局即砌墙效果,图片加载技术,以及滚动加载内容技术。本文先介绍砌墙效果。

其实我们做页面布局就相当于砌墙师傅在完成一堵墙的施工。我们在设计页面的时候,假如有很多相同的DIV,装载不同的内容,这些DIV都使用float:left,如果不限制这些DIV的高度,页面布局可能会出现砌墙架空的现象。点击这里查看效果,而经过布局优化后的页面布局效果大不一样,请看DEMO。

查看演示DEMO 下载源码

本文使用David DeSandro写的一个页面布局插件Masonry,该插件基于jQuery库,提供很多参数和方法,可以根据不同的需求定制不同的效果。

XHMTL

首先是要引入jQuery库和Masonry插件。

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="jquery.masonry.min.js"></script> 

我们仿照新浪微博构建一个html页面,DIV#container放置多个相同的DIV.photo。

<div id="container"> 
      <div class="photo"> 
         <a href="#"><img src="images/02.jpg" alt="" /></a> 
         <p><a href="#">菓小菓</a>:随时都要卖,还要又又美味</p> 
      </div> 
      .....N个photo... 
</div> 
CSS
#container{width:780pxmargin:10px auto.photo{float:leftwidth:205pxmargin:10pxpadding:10pxborder:1px solid #d3d3d3; 
 background:#f7f7f7;-moz-border-radius:4px;-khtml-border-radius: 4px;-webkit-border-radius: 4px;  
 border-radius:4px;} 
.photo img{width:205px.photo p{line-height:20pxmargin:4px auto
jQuery
$(function(){ 
  $('#container').masonry({ 
    itemSelector : '.photo', 
    columnWidth : 247 
  }); 
}); 

调用masonry插件,配置参数itemSelector对应的是class为photo的div,columnWidth为247,columnWidth的值是由.photo的宽度+padding*2+margin*2+border*2得到的。更多参数配置请访问masonry插件网站:http://masonry.desandro.com/docs/options.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值