CSS3之动画

作者: Rella7 | 来源:发表于2017-04-27 21:34 被阅读3次

动画

使用过度,可以实现绝大多数的效果,但是需要对效果进行定制时,可以通过动画animation来实现

过渡的优缺点

  • transition的优点在于简单易用,但是它有几个很大的局限。
  1. transition需要事件触发,所以没法在网页加载时自动发生。
  2. transition是一次性的,不能重复发生,除非一再触发。
  3. transition只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态。
  4. 一条transition规则,只能定义一个属性的变化,不能涉及多个属性。
    CSS Animation就是为了解决这些问题而提出的。

语法

使用动画时,我们首先需要定义一组动画,在动画过程中我们可以对动画的步骤进行控制

  • 定义动画:
    使用@keyFrames 关键字定义
/*动画名为:sevenColor
    开始背景为红色
    中途背景为橘色
    结束为黄色
*/
@keyframes changeColor{
            0%{background-color:red;}
            50%{background-color:orange;}
            100%{background-color:yellow;}
}    

/*动画名为:changeColor
   效果跟上面的一样,只是使用关键字
   from 开始
   to 结束
*/
@keyframes sevenColor{
            from{background-color:red;}
            50%{background-color:orange;}
            to{background-color:yellow;}
}   

/*动画名为:someProperty
   效果跟上面的一样,只是使用关键字
    添加了多个属性
*/
@keyframes someProperty{
            from{
                background-color:red;
                width:100px;
            }
            50%{
                background-color:orange;
                transform:rotate(100deg);
            }
            to{
                background-color:yellow;
                height:200px;
            }
}   
  • 使用动画
    动画的使用 需要通过animation这个属性,他是一个复合属性,但是再添加子属性时,除时间外,顺序可以打乱
    /* 完整属性
    动画名
    animation-name: sevenColor; 
    持续时间
    animation-duration: 1s;
    动画播放完毕时的状态 (还原,结束值),一般是 固定次数的动画 配合使用
    animation-fill-mode: forwards;
    延迟时间
    animation-delay: 1s;
    动画次数(具体次数,或者无限次)
    animation-iteration-count: infinite;
    动画的播放过渡类型
    animation-timing-function: ease-in;
    动画状态 播放running 或者 暂停paused
    animation-play-state: running;
    动画的方向 正向 方向 正方,反向交替 方向,正向交替
        比如 动画为 大-小
            交替:大-小-大
    animation-direction: alternate;
            */
/* 复合写法 
    保证 第一个时间 是动画时间
        第二个时间 是延迟时间
        其余属性的位置可以任意写
        animationName 是动画名称的意思
*/
 
    animation: animationName 1s infinite  ease-in forwards 1s;
  • 没有设置值 会使用 默认值

相关文章

  • 网页高级知识点(三)

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

  • 07day

    CSS3动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes ...

  • 08_dayCSS动画

    CSS3新增的功能有:过渡和动画,阴影和圆角 css3过渡动画: css3都有哪些新增的东西 : 过度,动画,阴影...

  • CSS3 动画

    CSS3 动画CSS3,我们可以创建动画,它可以取代许多网页动画图像,Flash动画,和JAVAScripts。 ...

  • 当ios遇上css3动画系列(2) --ios动画之flash

    当ios遇上css3动画系列(2) --ios动画之flash 闪烁 这篇文章来看下flash闪烁动画的。上css...

  • CSS3 动画

    动画属性 动画(animation)是CSS3新增的属性,动画属性可以为元素创建动画,CSS3以前在网页上实现动画...

  • css3动画

    css3动画 CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的...

  • 纯CSS3绘制的逼真,呆萌,超酷的CSS3动画

    纯CSS3人物行走动画 逼真炫酷CSS3动画 CSS3实在是太强大了,今天分享的CSS3动画非常神奇,它可以模拟人...

  • 关于js动画和css3动画的差异性你了解吗?请简单谈一下

    css3动画:css3之后添加了transform动画计算函数,所以实现动画更为简单方便,并且transform矩...

  • 过度动画

    css3过度动画 css3都有哪些新增的东西 : 过度,动画,阴影,圆角; transition : width ...

网友评论

    本文标题:CSS3之动画

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