jQuery Masonry

webdesign060-02

  前陣子看到非常有趣的Waterfall瀑布流布局,可以先看一下有使用的網站如下。

  今天來教大家怎麼自己做瀑布流不局的網頁,先給大家看一下完成的樣子Masonry DEMO

 使用套件

使用方法 

1.首先要先載入需要的js

1. <script src="/js/jquery.min.js"></script>
2. <script src="/js/jquery.masonry.min.js"></script>

  這邊的jquery需要的版本為1.4.0或者更新版本

2.html的結構如下

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

  把一格一格要顯示的內容用class 為item的div包起來

3.CSS的部分設定

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

  把每個item的寬度設定為一致,才有辦法排的漂亮,不然會有空隙,加一點margin讓每個item有點間隔,另外把float屬性設定為left。

4.javascript設定

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

  這樣就會有基本的樣子了,看DEMO1

 

展示圖片

  如果在item中展示圖片的話,由於javascript開始執行的時候,圖片還沒有載入完全,導致高度上會錯亂,因此需要在javascript的地方使用imagesLoaded()來防止高度錯誤,讓網頁正確顯示,方法如下

01. <script>
02. $(function(){
03. var $container = $('#container');
04. $container.imagesLoaded(function(){
05. $container.masonry({
06. itemSelector : '.item',
07. columnWidth : 240
08. });
09. });
10. });
11. </script>

  這樣的話就可以在item中使用圖片,不會讓高度的計算上錯誤了。看DEMO2

使用動畫效果

  剛剛的DEMO2中,當在縮放視窗的時候,每個item都是直接跳到新的位置,讓我們來幫他加點動畫效果,讓整個頁面看起來效果更好,要使用動畫效果有兩個方法

1.jquery方式:

在javascript中加上動畫效果參數, isAnimated: true, 這樣就可以了

01. <script>
02. $(function(){
03. var $container = $('#container');
04. $container.imagesLoaded(function(){
05. $container.masonry({
06. itemSelector : '.item',
07. isAnimated: true,
08. columnWidth : 240
09. });
10. });
11. });
12. </script>

按我看DEMO3

2.CSS transitions方式:

  使用之前提到的css 3效果,在CSS的部分加入以下CSS即可,優點是效果較好,缺點是某些瀏覽器到目前為止還是沒有辦法支援,例如IE9876....

01. .masonry,
02. .masonry .masonry-brick {
03. -webkit-transition-duration: 0.7s;
04. -moz-transition-duration: 0.7s;
05. -o-transition-duration: 0.7s;
06. transition-duration: 0.7s;
07. }
08. .masonry {
09. -webkit-transition-property: height, width;
10. -moz-transition-property: height, width;
11. -o-transition-property: height, width;
12. transition-property: height, width;
13. }
14. .masonry .masonry-brick {
15. -webkit-transition-property: left, right, top;
16. -moz-transition-property: left, right, top;
17. -o-transition-property: left, right, top;
18. transition-property: left, right, top;
19. }

DEMO4

  最後可以在自己發揮一下美化一下就可以得到如下的效果

DEMO5

 

其他的參數還請大家自己到官網看囉。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值