CSS3中利用animation属性创建雪花飘落特效


Posted in HTML / CSS onMay 14, 2014

先介绍一下CSS3中的animation的特性吧。

在CSS3中我们可以使用animation属性来创建复杂的动画效果,包括移动,旋转,缩放,倾斜(后几个请参考css3中的transform,scale等属性)等。而这一切,只需要我们创建关键帧(@keyframes),然后将自己想要实现的动作添加进去就可以实现。

比如:

复制代码
代码如下:

@keyframes bgchange{
from {background:red;}
to {background:yellow}
}
div:hover{
animation:bgchange 5s;
}

当鼠标悬停在<div>时,该<div>的背景颜色会在五秒之内从红色变为黄色。

注意:使用animation和@keyframes时不同浏览器需要加上不同的前缀名!

下面代码实现雪花飘落功能:

复制代码
代码如下:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>snowing snow</title>
<style>
body{
background: #eee;
}
@keyframes mysnow{
0%{
bottom:100%;
opacity:0;
}
50%{
opacity:1;
transform: rotate(1080deg);
}
100%{
transform: rotate(0deg);
opacity: 0;
bottom:0;
}
}
@-webkit-keyframes mysnow{
0%{
bottom:100%;
opacity:0;
}
50%{
opacity:1;
-webkit-transform: rotate(1080deg);
}
100%{
-webkit-transform: rotate(0deg);
opacity: 0;
bottom:0;
}
}
@-moz-keyframes mysnow{
0%{
bottom:100%;
opacity:0;
}
50%{
opacity:1;
-moz-transform: rotate(1080deg);
}
100%{
-moz-transform: rotate(0deg);
opacity: 0;
bottom:0;
}
}
@-ms-keyframes mysnow{
0%{
bottom:100%;
opacity:0;
}
50%{
opacity:1;
-ms-transform: rotate(1080deg);
}
100%{
-ms-transform: rotate(0deg);
opacity: 0;
bottom:0;
}
}
@-o-keyframes mysnow{
0%{
bottom:100%;
opacity:0;
}
50%{
opacity:1;
-o-transform: rotate(1080deg);
}
100%{
-o-transform: rotate(0deg);
opacity: 0;
bottom:0;
}
}
.roll{
position:absolute;
opacity:0;
animation: mysnow 5s ;
-webkit-animation: mysnow 5s ;
-moz-animation: mysnow 5s ;
-ms-animation: mysnow 5s ;
-o-animation: mysnow 5s ;
height:80px;
}
.div{
position:fixed;
}
</style>
</head>
<body>
<div id="snowzone" >
</div>
</body>
<script>
(function(){
function snow(left,height,src){
var div = document.createElement("div");
var img = document.createElement("img");
div.appendChild(img);
img.className = "roll";
img.src = src;
div.style.left=left+"px";
div.style.height=height+"px";
div.className="div";
document.getElementById("snowzone").appendChild(div);
setTimeout(function(){
document.getElementById("snowzone").removeChild(div);
// console.log(window.innerHeight);
},5000);
}
setInterval(function(){
var left = Math.random()*window.innerWidth;
var height = Math.random()*window.innerHeight;
var src = "s"+Math.floor(Math.random()*2+1)+".png";//两张图片分别为"s1.png"、"s2.png"
snow(left,height,src);
},500);
})();
</script>
</html>

两张雪花图片:
CSS3中利用animation属性创建雪花飘落特效 
最终效果:
CSS3中利用animation属性创建雪花飘落特效
HTML / CSS 相关文章推荐
收集的7个CSS3代码生成工具
Apr 17 HTML / CSS
你正在寻找的CSS3 动画技术
Jul 27 HTML / CSS
CSS3为背景图设置遮罩并解决遮罩样式继承问题
Jun 22 HTML / CSS
html5 touch事件实现页面上下滑动效果【附代码】
Mar 10 HTML / CSS
HTML5新表单元素_动力节点Java学院整理
Jul 12 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
Jul 05 HTML / CSS
程序设计HTML5 Canvas API
Apr 08 HTML / CSS
HTML5 canvas标签实现刮刮卡效果
Apr 24 HTML / CSS
Html5 audio标签样式的修改
Jan 28 HTML / CSS
iframe跨域的几种常用方法
Nov 11 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
Aug 19 HTML / CSS
CSS3常见动画的实现方式
Apr 14 HTML / CSS
CSS3感应鼠标的背景闪烁和图片缩放动画效果
May 14 #HTML / CSS
css3 自定义字体font-face使用介绍
May 14 #HTML / CSS
CSS3动画animation实现云彩向左滚动
May 09 #HTML / CSS
css3实现可滑动跳转的分页插件示例
May 08 #HTML / CSS
CSS3 Media Queries详细介绍和使用实例
May 08 #HTML / CSS
使用css3实现超炫的loading加载动画效果
May 07 #HTML / CSS
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
May 07 #HTML / CSS
You might like
PHP.MVC的模板标签系统(二)
2006/09/05 PHP
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
php自定义session示例分享
2014/04/22 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
jquery控制select的text/value值为选中状态
2014/06/03 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
Python实现的简单算术游戏实例
2015/05/26 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
同程旅游英文网站:LY.com
2018/11/13 全球购物
什么是抽象
2015/12/13 面试题
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
周年庆典邀请函范文
2014/01/23 职场文书
应届生面试求职信
2014/07/02 职场文书
领导班子整改措施
2014/10/24 职场文书
学校社团活动总结
2015/05/07 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
独生子女证明范本
2015/06/19 职场文书