• 2.9 CSS3动画(animation)


    2.9 动画(animation)

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

    相比较过渡,动画可以实现更多变化,更多控制,连续自动播放等效果。

    2.9.1「动画的使用」

    1. 定义动画

    2. 调用定义好的动画

    /*1. 定义动画*/
    @keyframes 动画名称 {
       0% {
            100px;
      }
       100% {
            200px
      }
    }
    div {
    /* 调用动画 */
     animation-name: 动画名称;
     /* 持续时间 */
     animation-duration: 持续时间;
    }

    2.9.2「动画序列」

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

    • @keyframs中规定某项 CSS 样式,就由创建当前样式逐渐改为新样式的动画效果

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

    • 用百分比来规定变化发生的时间,或用 fromto,等同于 0% 和 100%

    <style>
       div {
          100px;
         height: 100px;
         background-color: aquamarine;
         animation-name: move;
         animation-duration: 0.5s;
      }

       @keyframes move{
         0% {
           transform: translate(0px)
        }
         100% {
           transform: translate(500px, 0)
        }
      }
    </style>

    2.9.3「动画常见属性」

    属性描述
    @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",还有"pause"。
    animation-fill-mode 规定动画结束后状态,保持forwards回到起始backwards
    div {
      100px;
     height: 100px;
     background-color: aquamarine;
     /* 动画名称 */
     animation-name: move;
     /* 动画花费时长 */
     animation-duration: 2s;
     /* 动画速度曲线 */
     animation-timing-function: ease-in-out;
     /* 动画等待多长时间执行 */
     animation-delay: 2s;
     /* 规定动画播放次数 infinite: 无限循环 */
     animation-iteration-count: infinite;
     /* 是否逆行播放 */
     animation-direction: alternate;
     /* 动画结束之后的状态 */
     animation-fill-mode: forwards;
    }

    div:hover {
     /* 规定动画是否暂停或者播放 */
     animation-play-state: paused;
    }

    2.9.4「动画简写方式」

    /* animation: 动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 起始与结束状态 */
    animation: name duration timing-function delay iteration-count direction fill-mode
    • 简写属性里面不包含 animation-paly-state

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

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

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

    animation: move 2s linear 1s infinite alternate forwards;

    2.9.5「速度曲线细节」

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

    描述
    linear 动画从头到尾的速度是相同的。匀速
    ease 默认。动画以低速开始,然后加快,在结束前变慢。
    ease-in 动画以低速开始。
    ease-out 动画以低速结束。
    ease-in-out 动画以低速开始和结束。
    steps() 指定了时间函数中的间隔数量(步长)
    /*打字机效果*/
    div {
      0px;
     height: 50px;
     line-height: 50px;
     white-space: nowrap;
     overflow: hidden;
     background-color: aquamarine;
     animation: move 4s steps(24) forwards;
    }

    @keyframes move {
     0% {
        0px;
    }

     100% {
        480px;
    }
    }

     

    ★紧急联系
    邮箱:zhif6688@163.com
    V  X: Zhif999999
  • 相关阅读:
    Linux 字典数组应用
    Linux shell 字符串切割 内置方法
    【Swing/文本组件】定义自动换行的文本域
    【C++语法基础】实验1
    【Swing程序设计/常用面板】
    【标签组件与图标 3.3】
    【2018.2.26算法总结#分治】
    数据结构#课表排序及查询
    数据结构#前序遍历建立二叉树 输出中序遍历
    OJ#1002 又是a+b
  • 原文地址:https://www.cnblogs.com/zhif97/p/14418806.html
Copyright © 2020-2023  润新知