栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

逼真的HTML5树叶飘落动画

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

逼真的HTML5树叶飘落动画

这是一款基于HTML5的树叶飘落动画,树叶都是图片,并非CSS3绘制,但是树叶飘落的动画效果非常逼真。这款HTML5树叶飘落动画是基于webkit内核的,也就是说要在webkit内核的浏览器上才能使用这款动画。

在线演示源码下载

HTML代码
  
  
  
  
  
   这是基于webkit的落叶动画
  
CSS代码
#container {    position: relative;    height: 700px;    width: 500px;    margin: 10px auto;    overflow: hidden;    border: 4px solid #5C090A;    background: #4E4226 url('images/backgroundLeaves.jpg') no-repeat top left;
}#leafContainer {    position: absolute;    width: 100%;    height: 100%;
}#message{    position: absolute;    top: 160px;    width: 100%;    height: 300px;    background:transparent url('images/textBackground.png') repeat-x center;    color: #5C090A;    font-size: 220%;    font-family: 'Georgia';    text-align: center;    padding: 20px 10px;    -webkit-box-sizing: border-box;    -webkit-background-size: 100% 100%;    z-index: 1;
}p {  margin: 15px;
}a{  color: #5C090A;  text-decoration: none;
}em {    font-weight: bold;    font-style: normal;
}.phone {  font-size: 150%;  vertical-align: middle;
}#leafContainer > div {    position: absolute;    width: 100px;    height: 100px;    
    -webkit-animation-iteration-count: infinite, infinite;    -webkit-animation-direction: normal, normal;    -webkit-animation-timing-function: linear, ease-in;
}#leafContainer > div > img {     position: absolute;     width: 100px;     height: 100px;    
     -webkit-animation-iteration-count: infinite;     -webkit-animation-direction: alternate;     -webkit-animation-timing-function: ease-in-out;     -webkit-transform-origin: 50% -100%;
}@-webkit-keyframes fade
{    
    0%   { opacity: 1; }
    95%  { opacity: 1; }
    100% { opacity: 0; }
}@-webkit-keyframes drop
{    
    0%   { -webkit-transform: translate(0px, -50px); }    
    100% { -webkit-transform: translate(0px, 650px); }
}@-webkit-keyframes clockwiseSpin
{    
    0%   { -webkit-transform: rotate(-50deg); }    
    100% { -webkit-transform: rotate(50deg); }
}@-webkit-keyframes counterclockwiseSpinAndFlip 
{    
    0%   { -webkit-transform: scale(-1, 1) rotate(50deg); }    
    100% { -webkit-transform: scale(-1, 1) rotate(-50deg); }
}
Javascript代码
const NUMBER_OF_LEAVES = 30;function init(){    
    var container = document.getElementById('leafContainer');    
    for (var i = 0; i < NUMBER_OF_LEAVES; i++) 
    {
        container.appendChild(createALeaf());
    }
}function randomInteger(low, high){    return low + Math.floor(Math.random() * (high - low));
}function randomFloat(low, high){    return low + Math.random() * (high - low);
}function pixelValue(value){    return value + 'px';
}function durationValue(value){    return value + 's';
}function createALeaf(){    
    var leafDiv = document.createElement('div');    var image = document.createElement('img');    
    image.src = 'images/realLeaf' + randomInteger(1, 5) + '.png';

    leafDiv.style.top = "-100px";    
    leafDiv.style.left = pixelValue(randomInteger(0, 500));    
    var spinAnimationName = (Math.random() < 0.5) ? 'clockwiseSpin' : 'counterclockwiseSpinAndFlip';    
    leafDiv.style.webkitAnimationName = 'fade, drop';
    image.style.webkitAnimationName = spinAnimationName;    
    var fadeAndDropDuration = durationValue(randomFloat(5, 11));    
    var spinDuration = durationValue(randomFloat(4, 8));    
    leafDiv.style.webkitAnimationDuration = fadeAndDropDuration + ', ' + fadeAndDropDuration;    var leafDelay = durationValue(randomFloat(0, 5));
    leafDiv.style.webkitAnimationDelay = leafDelay + ', ' + leafDelay;

    image.style.webkitAnimationDuration = spinDuration;    // add the  to the 
    leafDiv.appendChild(image);    
    return leafDiv;
}window.addEventListener('load', init, false);

在线演示源码下载

本文链接:http://www.codeceo.com/article/html5-leaf-animation.html
本文作者:码农网 – 小峰

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/242725.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号