`
coding1688
  • 浏览: 236739 次
  • 来自: 上海
社区版块
存档分类
最新评论

四步轻松搞定瀑布流布局

阅读更多

  瀑布流布局(Waterfall Layout),听到这个名词你不一定知道是什么,但是你看了下面的图片就会明白了。很多网站都用它来展示图片内容,比如淘宝哇哦、新浪轻博客等。

 

  今天我要分享给大家的就是怎么轻松来搞定瀑布流布局。当然,我不会自己从零开始,要学会重复利用别人的东西,不要重新发明轮子。如果要看本文最新版本,请访问:http://www.vktone.com/articles/waterfall-layout-use-jquery-masonry.html 。(友情提示:本文内容在ITEYE上显示有点乱,最好访问这个地址看)

 

   我用到的就是jQuery的Masonry插件,它是一个用来布局的jQuery插件。配置Masonry相当容易,只需要在jQuery脚本中的 wrapping container元素中加上.masonry()方法。官网地址:http://masonry.desandro.com/index.html

  废话少说,下面来一步一步展示如何实现瀑布流布局,这个已经在www.vktone.com 博客右侧边栏中用到了。

  第一步: 就是要把显示图片的html容器准备好,比如像下面这样

<div id="imgcontainer">
  <div class="imgitem">...</div>
  <div class="imgitem">...</div>
  <div class="imgitem">...</div>
  ...
</div>

 

注意:<div class= "imgitem" > ...</div>  里面装的就是你要显示的图片,也可以是带链接的图片,也可以是图片和文字的混合体。

  第二步:加入jQuery和jQuery Masonry插件。

<script src="/path/to/jquery.min.js"></script>
<script src="/path/to/jquery.masonry.min.js"></script>

 

其中,jQuery下载地址:http://jquery.com/,
   jQuery Masonry下载地址:http://masonry.desandro.com/jquery.masonry.min.js

  第三步: 添加css样式,特别注意要添加 float:left,其它的样式自行调整(比如添加边框border,边距margin等)。

.imgitem {
    /* width: 70px; */
    margin: 2px;
    float: left;
    border: solid 1px #ccc;
    -webkit-transition: all .7s ease-out .1s; -moz-transition: all .7s ease-out; -o-transition: all .7s ease-out .1s; transition: all .7s ease-out .1s;
}

 

  第四步: 添加JavaScript脚本

<script type="text/javascript">
//<![CDATA[
function masonryImages(){
    var $container = $('#imgcontainer');
    $container.imagesLoaded(function(){
        $container.masonry({
            itemSelector : '.imgitem'
            //,columnWidth: 72
        });
    });
}
$(function(){
    masonryImages();
});
//]]>
</script>

 

  注意:如果显示图片的html是ajax动态加载的,加载完之后应该调用masonry()重新布局,否则有点乱。比如下面的代码,在加载完之后调用了masonryImages()。

    $.ajax({
        url: "...",
        type: "post",
        data: {
            ...
        },
        dataType: "jsonp",
        success: function(rsp){
            if (rsp && rsp.data && rsp.data.html) {
                $("#sidebar").replaceWith(rsp.data.html);
                masonryImages();
            }
        },
        error: function(){
            $("#sidebar").text("加载侧边失败!");
        }
    });

 

  大功告成! 用jQuery Masonry插件实现瀑布流布局就完成了,轻松吧!

 


 

 

4
0
分享到:
评论
1 楼 914412060 2013-01-14  
实验了一下,很好

相关推荐

    搞定 瀑布流 布局 Css Jquery

    根据给定的信息,本文将详细解析瀑布流布局的实现方法,并深入探讨其在网页设计中...通过合理运用CSS和jQuery,开发者可以轻松实现瀑布流布局,并根据实际需求对其进行定制化调整,从而为用户提供更加出色的浏览体验。

    轻松搞定C++语言_C++_轻松搞定C++_

    c++语言讲义,帮助你轻松搞定C++,欢迎大家下载

    轻松搞定网页设计教学视频(htmlcssjs)

    【】轻松搞定网页设计(html css js)第0- 1讲【】轻松搞定网页设计(html css js)第2讲【】轻松搞定网页设计(html css js)第3讲【】轻松搞定网页设计(html css js)第4-5讲【】轻松搞定网页设计(html css js)第6-7讲...

    六步轻松搞定子网划分.docx

    "六步轻松搞定子网划分" 子网划分是企业网络安全方案中的一种重要手段,通过合理的子网划分,可以将企业网络划分成几个相对独立的网络,从而提高网络的安全性。下面是六步轻松搞定子网划分的详细步骤: 第一步:...

    李赞红老师 轻松搞定ExtJS 实例 源代码

    北大青鸟 李赞红老师 轻松搞定ExtJS 实例 源代码

    韩顺平轻松搞定网页设计

    教程名称:韩顺平 轻松搞定网页设计课程目录:【】轻松搞定网页设计(html css javascript) 第37讲【】轻松搞定网页设计(html css javascript) 第38讲【】轻松搞定网页设计(html css javascript) ...

    轻松搞定C++语言

    本资源包“轻松搞定C++语言”显然是为了帮助初学者和有经验的程序员更好地理解和掌握C++语言。这份资料包含了一本PDF电子书和一个名为"TestBoy.png"的图像文件,后者可能是用于辅助解释或示例的图表。 首先,让我们...

    轻松搞定js教程轻松搞定js教程

    轻松搞定js教程轻松搞定js教程轻松搞定js教程轻松搞定js教程

    extjs 轻松搞定EXTJS.pdf +很多DEMO 案例

    extjs 轻松搞定EXTJS.pdf +很多DEMO 高清 高质量 案例

    轻松搞定设计模式

    自己整理的简单,清晰,易于理解学习设计模式文档。如果你是新手。看完这三十多页的PPT,相信你可以轻松搞定常用的设计模式。

    Cisco IOS升级6步轻松搞定

    《Cisco IOS升级六步详解:轻松提升网络性能》 Cisco IOS,全称为Cisco Internetwork Operating System,是Cisco网络设备的核心操作系统,负责管理网络设备的配置、路由选择、网络安全等功能。随着时间的推移,...

    轻松搞定XML(PDF)

    轻松搞定XML(PDF)

    轻松搞定XML中文版

    《轻松搞定XML中文版》这本书,由Michael J.Young撰写并由林嘉胜翻译成中文,旨在帮助读者深入理解和掌握XML的相关知识。 首先,书中可能会介绍XML的基础概念,包括XML的起源、设计目标以及与HTML的区别。XML并非...

    韩顺平 轻松搞定网页设计 JS部分2

    韩顺平 轻松搞定网页设计课程 JS部分笔记2

    Fedora 11下7步轻松搞定LAMP安装

    以下是一个简化的7步安装过程,特别适合初学者。 1. **前言** 在开始之前,确保你的系统是Fedora 11,并且你已经知道主机名(例如:server1.example.com)和IP地址(例如:192.168.0.100)。这些设置可以根据你的...

    轻松搞定Extjs

    ### 轻松搞定Extjs #### 极简学习指南概览 《轻松搞定Extjs》是一本旨在帮助读者快速掌握Extjs框架基础知识及其高级应用的教程书籍。本书通过详尽的内容安排,从预备知识到具体实践案例,全方位地介绍了Extjs的...

    轻松搞定xml 轻松搞定xml

    通过阅读《轻松搞定XML》这本书,你将深入理解XML的原理,学习如何创建有效的XML文档,掌握XML解析和验证技术,并了解XML在实际项目中的应用。配合`说明.htm`、`轻松搞定xml.pdf`及`readme.txt`,你将获得全方位的...

    轻松搞定C++语言.pdf.zip

    "轻松搞定C++语言.pdf.zip"这个压缩包显然包含了帮助初学者或进阶者理解和掌握C++语言的资料。 C++的核心概念包括: 1. **类和对象**:C++引入了类的概念,作为数据和操作数据的方法的封装体,是面向对象编程的基础...

    轻松搞定XML、XML、XML

    XML,全称Extensible Markup ...总的来说,“轻松搞定XML”这个资源可能涵盖了XML的基础概念、语法、验证、解析、查询以及在实际开发中的应用。通过学习,你可以掌握XML的核心知识,从而在配置开发的世界中游刃有余。

    只需3步轻松搞定win7无线网络共享设置的方法.docx

    标题中的“只需3步轻松搞定win7无线网络共享设置的方法”指的是在Windows 7操作系统中,用户可以通过简单的三个步骤来实现无线网络的共享,让其他设备(如手机)能够通过笔记本或台式机的无线网卡接入网络。...

Global site tag (gtag.js) - Google Analytics