美文网首页
css3中的animation

css3中的animation

作者: Cinderella歌儿 | 来源:发表于2016-12-07 23:45 被阅读0次

CSS3的Animation有八个属性:
animation-name
运动的名称(规定需要绑定的keyframe 名称)

animation-duration
运动时间

animation-delay
运动延迟时间

animation-iteration-count
规定动画播放的次数(infinite表示无限次播放)

animation-direction
规定是否应该轮流反向播放动画。
(normal正常播放,默认值;
alternate:轮流反向播放;)

animation-play-state
规定动画正在运行还是暂停。
(paused:规定动画已暂停;
running:规定动画正在播放。)

animation-fill-mode
动画在播放之前或之后,其动画效果是否可见。
(none:不改变默认行为;
forwards:当动画完成后,保持最后一个属性值(在最后一个关键帧中定义);
backwards:在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义);
both:向前和向后填充模式都被应用;)

animation-timing-function
规定动画的速度曲线
(linear:匀速;
ease:低速开始,加速,结束前变慢;
ease-in:加速;
ease-out:减速;
ease-in-out:低速开始和结束;
cubic-bezier(n,n,n,n):在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值)。

用css3的animation完成一个动画,当只有这个动画完成时才执行另一个事件。有两种方法:
一、设置定时器:
设定一个和动画时长一样的time,过time事件去执行这个函数。
setTimeout(function(){ },time);
二、当-webkit-animation动画结束时有一个webkitAnimationEnd事件,只要监听这个事件就可以了。
不同浏览器的AnimationEnd写法 (webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend)
例子:
-webkit-animation动画其实有三个事件:
开始事件 webkitAnimationStart
结束事件 webkitAnimationEnd
重复运动事件 webkitAnimationIteration
代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            *{
                padding: 0;
                margin: 0;
                list-style: none;
            }
            ul{
                width: 0px;
                height: 0px;
                position: relative;
                margin: 100px auto;
                opacity: 0;
                animation: 2s move ease;
            }
            li{
                width: 50%;
                height: 50%;
                float: left;
                border-radius: 0 80%;
            }
            li:nth-child(2){
                transform: rotate(90deg);
            }
            li:nth-child(3){
                transform: rotate(90deg);
            }
            ul.move{
                width: 240px;
                height: 240px;
                opacity: 1;
                animation: 1s rotate linear infinite;
            }
            @keyframes rotate{
                to{
                    transform: rotate(360deg);
                }
            }
            @keyframes move{
                100%{
                    width: 240px;
                    height: 240px;
                    opacity: 1;
                }
            }
        </style>
        <script type="text/javascript">
            document.addEventListener('DOMContentLoaded',function(){
                var oUl=document.querySelector('ul');
                oUl.addEventListener('webkitAnimationEnd',function(){
                    oUl.classList.add('move');
                },false);
            },false);
        </script>
    </head>
    <body>
        <ul>
            <li style="background: deeppink;"></li>
            <li style="background: deepskyblue;"></li>
            <li style="background: gold;"></li>
            <li style="background: greenyellow;"></li>
        </ul>
    </body>
</html>

相关文章

  • 2017-06-18

    css3中变形与动画(上) 1.Animation 动画定义animation动画2.Animation动画播放 ...

  • CSS3动画

    在CSS3中,动画效果使用animation属性来实现。animation属性和transition属性功能是相同...

  • 网页高级知识点(三)

    CSS3 transition动画 CSS3 transform变换 CSS3 animation动画

  • CSS3 Animation

    CSS3 Animation animation: name,duration,timing-function,d...

  • 随笔03

    1、css3中transfrom和transition、animation的区别 transfrom描述元素静态样...

  • CSS3 Animation实现加载动画

    利用CSS3中的animation,可以实现很多很炫的效果。今天就来利用animation属性完成如上图所示的加载...

  • css3

    css3中会忘记的主要是filter,transform,animation,transtion,box-shad...

  • requestAnimationFrame

    动画 web开发中实现动画的方式有多种,CSS3中的transition和animation,js中的setInt...

  • CSS3:过渡效果and帧动画

    css3中有三种和动画相关的属性:transform、transition、animation。transform...

  • CSS3 animation动画

    CSS3 animation动画 1、@keyframes 定义关键帧动画2、animation-name 动画名...

网友评论

      本文标题:css3中的animation

      本文链接:https://www.haomeiwen.com/subject/lwsjmttx.html