• animationx详解


      animation是CSS3中极其强大的功能,它可以完成许多炫酷有趣的动画效果,网上也有非常不错的类库。下面将做详细介绍。

    1.@keyframes:用于定义动画的具体动作(帧动作),一般要加上浏览器前缀。

    2.animation-name:给动画定义名称,用于在元素调用动画对象

    3.animation-duration:设置动画动作持续的时间

    4.animation-timing-function:动画的过渡速度

      取值:ease(默认值),linear(匀速),ease-in(加速),ease-out(减速),ease-in-out(先加速后减速)

    5.animation-delay:设置动画延迟时间

      通过以上5点,就可以开始做简单的动画了。

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            div{
                width:100px;
                height: 100px;
                background-color: #f00;
                animation-name:fromLeftToRight;    /*调用名为fromLeftToRight的动画*/
                animation-duration:1s;   /*动画持续1s*/
                animation-timing-function:ease;  /*逐渐变慢*/
                animation-delay:0.4s;    /*延迟0.4s后执行*/
            }
    
            @keyframes fromLeftToRight{   /*定义动画的名称,以下为动画具体动作*/
                from{
                    margin-left:0px;
                }
                to{
                    margin-left:100px;
                }
            }
        </style>
    </head>
    <body>
        <div></div>
    </body>
    </html>

      此时动画只会在页面内执行一次,若想动画持续循环执行,那么就要用到以下属性

    6.animation-iteration-count:设置动画执行次数

      取值:number 或 infinite(无限)

      给上述代码添加属性,那么结果将会是:

    animation-iteration-count:infinite;
     

      能看出动画在进行无限次循环运动,美中不足的是当运动到达margin-left:100px的位置时,动画重置,再继续运动,看起来非常生硬,此时我们可以添加一个 往返运动的效果,让画面看起来更平滑。

    7.animation-direction:设置动画在循环运动中的执行方向

      取值:normal(正常方向)

                  reverse(反向运动)

                  alternate(先正常运行,再反向运行)

                  alternate-reverse(先反向运行再正常运行)

      再代码中继续添加属性:

    animation-direction:alternate;   /*往返运动*/
     

      这样看起来效果就好多了。这种效果是固定不变的,然而在应用中,动画效果在更多的情况下是为了与用户进行交互,从而提升应用的用户体验,所以接下来介绍一个与交互相关的属性。

    8.animation-play-state:设置动画对象的运动状态(暂停/运行)

      取值:paused(暂停)

                  running(运行)

      来,我们继续折腾上面的代码。

    div:hover{       
         animation-play-state:paused;   /*鼠标经过时动画暂停*/
    }
     是男人就拿鼠标撩我

       正常情况下,若animation-iteration-count:1的时候,动画结束将重置,这将造成非常不好的用户体验,此时我们可以通过一个属性来控制对象在运动结束后的状态。

    9.animation-fill-mode:设置动画时间之外的状态,如定格结束后的状态(forwards)。

      取值:none  不设置

           forwards  设置对象状态为动画结束时的状态

           backwards   设置对象状态为动画开始时的状态

           both  设置对象状态为动画结束或开始的状态

      想不出太好的例子,我们还是继续撸上面的代码吧。搞起:

    animation-iteration-count:1;  /*也可以不设置此属性,则默认为1*/
    animation-fill-mode:forwards; /*将运动的最后状态作为结束状态*/
     

    10.语法缩写:animation:name | duration | timing-function | delay | iteration-count | direction | play-state | fill-mode .

      其中只有 name 和 duration 是必填属性。那么页面中最上面的一段代码可缩写为:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            div{
                width:100px;
                height: 100px;
                background-color: #f00;
                animation-name:fromLeftToRight 1s ease 0.4s;  /*是不是简洁多了?*/
            }
    
            @keyframes fromLeftToRight{   /*定义动画的名称,以下为动画具体动作*/
                from{
                    margin-left:0px;
                }
                to{
                    margin-left:100px;
                }
            }
        </style>
    </head>
    <body>
        <div></div>
    </body>
    </html>
  • 相关阅读:
    【升鲜宝】生鲜配送管理系统_升鲜宝 V2.0 按客户商品分类分开打印配送与按客户商品分类导出相关订单商品相关说明(一)
    生鲜配送管理系统_升鲜宝 V2.0 小程序辅助系统工具矩阵系列相关说明
    [置顶]生鲜配送管理系统_升鲜宝V2.0 销售订单汇总_采购任务分配功能_操作说明
    生鲜配送管理系统_升鲜宝V2.0 小标签打印功能【代配送商品打印小标签功能】说明_15382353715
    【升鲜宝】生鲜配送管理系统_升鲜宝供应链系统V2.0 客户管理模块功能与设计,欢迎大家批评指点。
    生鲜配送管理系统_升鲜宝供应链系统V2.0 设计思想及主要模块,欢迎大家批评指点。
    生鲜配送行业,接地气的采购入库盘点估清流程
    水产信息记帐平板应用开发历程及相关文档流程简要_水产海鲜信息化系统_余东升_15382353715
    十年磨一剑,水产宝与升鲜宝即将横空出世,将正面与市面上的商业软件竞争。用小米加步枪对洋枪洋炮。升鲜宝将为杭州生鲜配送企业服务,8年的生鲜电商行业沉淀。
    订单配送型企业的配送流程研究与思考以及对零售订单排线,订单配送任务的分配系统的开发设计与实现 一 (升鲜宝供应链管理系统持续升级与优化)
  • 原文地址:https://www.cnblogs.com/zona/p/5774539.html
Copyright © 2020-2023  润新知