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 相关文章推荐
详解纯CSS3制作的20种loading动效
Jul 05 HTML / CSS
纯css3实现走马灯效果
Dec 26 HTML / CSS
基于CSS3实现的黑色个性导航菜单效果
Sep 14 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
Apr 26 HTML / CSS
CSS3实现头像旋转效果
Mar 13 HTML / CSS
CSS3下的渐变文字效果实现示例
Mar 02 HTML / CSS
css3实现简单的白云飘动背景特效
Oct 28 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
May 28 HTML / CSS
使用纯HTML5编写一款网页上的时钟的代码分享
Nov 16 HTML / CSS
有关HTML5页面在iPhoneX适配问题
Nov 13 HTML / CSS
CSS 文字装饰 text-decoration & text-emphasis 详解
Apr 06 HTML / CSS
CSS控制继承中的height能变为可继承吗
Jun 10 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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
python绘制立方体的方法
2018/07/02 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
python开发之anaconda以及win7下安装gensim的方法
2019/07/05 Python
Python笔记之facade模式
2019/11/20 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
如何使用repr调试python程序
2020/02/28 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
django中cookiecutter的使用教程
2020/12/03 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
员工廉洁自律承诺书
2014/05/26 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
建国大业观后感
2015/06/01 职场文书
JAVA springCloud项目搭建流程
2022/05/11 Java/Android
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android