zoukankan      html  css  js  c++  java
  • 动画(CSS3) animation

    动画是CSS3中具有颠覆性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果。

    动画序列

    • 0%是动画的开始,100%是动画的完成。这样的规则就是动画序列。

    • 在@keyframes中规定某项css样式,就能创建由当前样式逐渐改变为新样式的动画效果

    • 动画是使元素从一种样式逐渐变化为另一种样式的效果,可以改变任意多的样式任意多的次数。

    • 用百分比来规定变化发生的时间,或用关键词"form"和"to",等同于0%和100%。

    动画基本使用

    1. 先定义动画

    2. 再调用动画

    动画简写格式:

    animation:动画名称 动画时间 运动曲线  何时开始  播放次数  是否反方向 动画起始或结束方向;

     

    属性

    描述

    @keyframes

    规定动画。

    animation

    所有动画属性的简写属性,除了animation-play-state属性。

    animation-name

    规定@keyframes动画的名称。(必须的)

    animation-duration

    规定动画完成一个周期所花费的秒或毫秒,默认是0。(必须的)

    animation-timing-function

    规定动画的速度曲线,默认是“ease”。

    animation-delay

    规定动画何时开始,默认是0。

    animation-iteration-count

    规定动画被播放的次数,默认是1,还有infinite

    animation-direction

    规定动画是否在下一周期逆向播放,默认是“normal“,alternate逆播放

    animation-play-state

    规定动画是否正在运行或暂停。默认是"running",还有"paused"。

    animation-fill-mode

    规定动画结束后状态,保持forwards回到起始backwards

    • 简写属性里面不包含 animation-play-state

    • 暂停动画:animation-play-state: puased; 经常和鼠标经过等其他配合使用

    • 想要动画走回来 ,而不是直接跳回来:animation-direction : alternate

    • 盒子动画结束后,停在结束位置: animation-fill-mode : forwards

    速度曲线细节

     animation-timing-function:规定动画的速度曲线,默认是“ease”

    描述

    linear

    动画从头到尾的速度是相同的。匀速

    ease

    默认。动画以低速开始,然后加快,在结束前变慢。

    ease-in

    动画以低速开始。

    ease-out

    动画以低速结束。

    ease-in-out

    动画以低速开始和结束。

    steps()

    指定了时间函数中的间隔数量(步长)

     

     关于几个值,除了名字,动画时间,延时有严格顺序要求,其它随意

    @keyframes 动画名称 {
    from{ 开始位置 } 0%
    to{ 结束 } 100%
    }

    animation-iteration-count:infinite; 无限循环播放
    animation-play-state:paused; 暂停动画

     小熊案例:

     div {
                position: absolute;
                 200px;
                height: 100px;
                background: url(images/bear.png) no-repeat;
                /* animation:动画名称 动画时间 运动曲线  何时开始  播放次数  是否反方向; */
                /* 元素可添加多个动画,用逗号分隔 */
                /* steps(步数),动画分几步完成 */
                animation: run 0.5s steps(8) infinite, move 3s linear forwards;
            }

            @keyframes run {
                0% {
                    background-position: 0 0;
                }
                100% {
                    background-position: -1600px 0;
                }
            }
            @keyframes move {
                0% {
                    left: 0;
                }
                100% {
                    left: 50%;
                    transform: translateX(-50%);
                }
            }
    星辰ꦿ.大海
  • 相关阅读:
    POJ 3320 Jessica's Reading Problem
    引用参数和传值参数的区别
    IBM 的数据库Informix 常用代语法
    设计模式之原型模式
    UBoot中使用tftp下载文件出现错误TFTP error: 'Access violation' (2)的解决办法
    printf格式控制符的完整格式
    如何打印hostent结构体中的所有数据
    Informix 数据库客户端 dbvisualizer SQL Commander 乱码解决方案
    设计模式之模版方法模试
    nfs: server 192.168.37.200 not responding, still trying的解决办法
  • 原文地址:https://www.cnblogs.com/xc-dh/p/13467316.html
Copyright © 2011-2022 走看看