今天,我想与大家分享一些专门为网格布局的图像制作的很酷的 CSS 加载动画效果。您可以把这些效果用在你的作品集,博客或任何你想要的网页中。设置很简单。我们使用了下面这些工具库来实现这个效果:

  现在,让我们来看看一些实际的代码,这应该是大家最想知道的!

效果演示      源码下载

HTML 代码

其实 HTML 代码都是很简单的,复杂和创意的部分在 CSS。代码如下:

<div class="row">
<div class="large-12 columns main">
<ul class="small-block-grid-2 medium-block-grid-3 large-block-grid-3 masonry">
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/01.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/02.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/03.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/04.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#/"><img src="data:images/05.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/06.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/07.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/08.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/09.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/10.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/11.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/12.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#/"><img src="data:images/13.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/14.jpg" alt="" /></a></li>
<li class="masonry-item"><a target="_blank" href="#"><img src="data:images/15.jpg" alt="" /></a></li>
</ul> <ul class="pagination">
<li><a class="next" href="index-02.php">Next Page</a></li>
</ul> <div class="loading"></div>
</div><!-- End .main -->
</div><!-- End .row -->

CSS 代码

CSS 部分主要是动画效果,我们以 tada 效果为例:

@keyframes tada
{
0%
{
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
} 10%,
20%
{
-webkit-transform: scale(.8) rotate(-2deg);
-moz-transform: scale(.8) rotate(-2deg);
-ms-transform: scale(.8) rotate(-2deg);
-o-transform: scale(.8) rotate(-2deg);
transform: scale(.8) rotate(-2deg);
} 30%,
50%,
70%,
90%
{
-webkit-transform: scale(1.04) rotate(2deg);
-moz-transform: scale(1.04) rotate(2deg);
-ms-transform: scale(1.04) rotate(2deg);
-o-transform: scale(1.04) rotate(2deg);
transform: scale(1.04) rotate(2deg);
} 40%,
60%,
80%
{
-webkit-transform: scale(1.04) rotate(-2deg);
-moz-transform: scale(1.04) rotate(-2deg);
-ms-transform: scale(1.04) rotate(-2deg);
-o-transform: scale(1.04) rotate(-2deg);
transform: scale(1.04) rotate(-2deg);
} 100%
{
-webkit-transform: scale(1) rotate(0);
-moz-transform: scale(1) rotate(0);
-ms-transform: scale(1) rotate(0);
-o-transform: scale(1) rotate(0);
transform: scale(1) rotate(0);
}
} .tada
{
-webkit-animation-name: tada;
-moz-animation-name: tada;
animation-name: tada;
}

jQuery

当图像被加载进来后,我们给图像添加上 CSS 效果,然后我们找到并显示该项目,最后会刷新 Masonry 布局。当用户滚动页面的时候,无限滚动插件将装载更多的图像并重复前面的步骤。代码如下:

jQuery(document)
.ready(function($) {
// Replace "tada" with an effect from the "effects.css" file.
var effect = 'animate tada'; var masonry_selector = '.masonry'; var masonry_item_selector = '.masonry-item'; // Initialize Masonry.
var $masonry = $(masonry_selector)
.masonry({
itemSelector: masonry_item_selector
}); // Find and hide the items.
var $masonry_items = $masonry
.find(masonry_item_selector)
.hide(); // Wait for the images to load.
$masonry
.imagesLoaded()
// An image has been loaded.
.progress(function(instance, image) {
// Add the effect.
var $image = $(image.img)
.addClass(effect); // Find and show the item.
var $item = $image
.parents(masonry_item_selector)
.show(); // Lay out Masonry.
$masonry
.masonry();
}); // Load more items.
$masonry
.infinitescroll({
navSelector: '.pagination',
nextSelector: '.pagination .next',
itemSelector: masonry_item_selector,
loading: {
finishedMsg: 'No more pages to load.',
img: 'images/loader.gif',
msgText: 'Loading the next page.',
selector: '.loading'
}
}, function(items, data, url) {
var $items = $(items)
.hide()
.imagesLoaded()
.progress(function(instance, image) {
var $image = $(image.img)
.addClass(effect); var $item = $image
.parents(masonry_item_selector)
.addClass('infinite-scroll-item')
.show(); $masonry
.masonry('appended', $item);
});
});
});

  

您可能感兴趣的相关文章

本文链接:为网格布局图片打造的超炫 CSS 加载动画效果

编译来源:梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源

为网格布局图片打造的超炫 CSS 加载动画的更多相关文章

  1. android 新闻应用、Xposed模块、酷炫的加载动画、下载模块、九宫格控件等源码

    Android精选源码 灵活的ShadowView,可替代CardView使用 基于Tesseract-OCR实现自动扫描识别手机号 Android播放界面仿QQ音乐开源音乐播放器 新闻应用项目采用了 ...

  2. 纯CSS3打造非常炫的加载动画

    纯css3打造的一款非常炫的加载图.用在需要一定时间加载的地方非常合适.先上效果图: 点击这里在线预览 代码非常简单.没有用任何javascript代码.纯css3实现. html代码: <di ...

  3. 炫!一组单元素实现的 CSS 加载进度提示效果

    之前的文章个大家分享过各种类型的加载效果(Loading Effects),这里再给大家奉献一组基于单个元素实现的 CSS 加载动画集合.这些加载效果都是基于一个 DIV 元素实现的,十分强悍. 温馨 ...

  4. 【Web前沿技术】纯 CSS3 打造的10个精美加载进度条动画

    之前向大家介绍8款优秀的 jQuery 加载动画和进度条插件,今天这篇文章向大家推荐10个纯 CSS3 代码实现精美加载进度条动画效果的方案.加载动画和进度条在网站和 Web 应用中的使用非常流行,特 ...

  5. 几行css3代码实现超炫加载动画

    之前为大家分享了css3实现的加载动画.今天为大家带来一款只需几行代码就可以实现超炫的动画加载特效.我们一起看下效果图: 在线预览   源码下载 实现代码: 极简的html代码: <div> ...

  6. 我用 CSS3 实现了一个超炫的 3D 加载动画

    今天给大家带来一个非常炫酷的CSS3加载Loading动画,它的特别之处在于,整个Loading动画呈现出了3D的视觉效果.这个Loading加载动画由12个3D圆柱体围成一个椭圆形,同时这12个圆柱 ...

  7. 超酷jQuery进度条加载动画集合

    在丰富多彩的网页世界中,进度条加载动画的形式非常多样,有利用gif图片实现的loading动画,也有利用jQuery和CSS3实现的进度加载动画,本文主要向大家介绍很多jQuery和CSS3实现的进度 ...

  8. iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画

    CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...

  9. 使用CAShapeLayer来实现圆形图片加载动画[译]

    原文链接 : How To Implement A Circular Image Loader Animation with CAShapeLayer 原文作者 : Rounak Jain 译文出自 ...

随机推荐

  1. Zookeeper会话

    Zookeeper会话的状态可以分为以下四种:CONNECTING,CONNECTED,CLOSED和NOT_CONNECTED.下图展示了会话的状态和状态之间的转移过程: 会话的初始状态为NOT_C ...

  2. mysql5.6-5.7性能调优

    1.DEFAULT_STORAGE_ENGINE 如果你已经在用MySQL 5.6或者5.7,并且你的数据表都是InnoDB,那么表示你已经设置好了.如果没有,确保把你的表转换为InnoDB并且设置d ...

  3. Runtime消息传送

    person.h #import<Foundation/Foundation.h> @interfacePerson :NSObject + (void)eat; - (void)run: ...

  4. SQL 数据库性能问题排查

    一个项目的运行,总伴随着性能问题,系统查询过慢,如何快速查询等 下面将简单讲解一下,如何去排查及解决这些问题. 开发过程中: 1:不要绝对的三范式,适当建立冗余能够提高查询速度,不用多表关联 2:能用 ...

  5. ENode 1.0 - 整体架构介绍

    前言 今天是个开心的日子,又是周末,可以安心轻松的写写文章了.经过了大概3年的DDD理论积累,以及去年年初的第一个版本的event sourcing框架的开发以及项目实践经验,再通过今年上半年利用业余 ...

  6. mvvm的优势

    之前在项目中有个功能,是根据数据模型生成页面,然后页面变动之后,再同步到数据模型之中. 当时用的jquery写的,一点一点的控制,整个功能写下来.测试,花了很长时间,而且还担心出bug. 现在用mvv ...

  7. Android和Linux应用综合对比分析

    原文地址:http://www.cnblogs.com/beer/p/3325242.html 免责声明: 当时写完这篇调查报告,给同事看了后,他觉得蛮喜欢,然后想把这篇文章修改一下,然后往期刊上发表 ...

  8. 熟用js中的Date

    js中的Date类型是使用UTC(国际协调时间)自1970年1月1日午夜(零时)开始,经过的毫秒数来保存日期. 1. 创建日期对象  ---> 获得当前日期和时间  var now = new ...

  9. Windows UDP socket recvfrom返回10054错误的解决办法

    现象: 在Windows 7系统上,A使用UDP socket,调用sendto函数向一个目标地址B发送数据,但是目标地址B没有接收数据,如果A此时立即调用recvfrom试图接收目标地址B发回的数据 ...

  10. 跨站请求伪造CSRF

    CSRF是Cross Site Request Forgery的缩写,乍一看和XSS差不多的样子,但是其原理正好相反,XSS是利用合法用户获取其信息,而CSRF是伪造成合法用户发起请求. 在XSS危害 ...