zoukankan      html  css  js  c++  java
  • Css3 动画

    逐帧动画:组成动画的每一个画面就是一个帧(也是关键帧动画,每一帧都是关键帧,没有过度帧生成部分

    关键帧动画:将动画的第一帧和最后一帧设置为关键帧,其他部分由系统完成(过度帧自动生成)。

    @keyframes规则

    animation属性

    webkit内核的浏览器

      webkit内核的浏览器需要加-webkit-前缀(safari、charme浏览器)

        @-webkit-keyframes规则

        -webkit-animation 属性

        IE9或IE9以下浏览器不支持css3 动画

    一个简单的例子:

    div{
      width:50px;
      height:100px;
      background-color:green;
    }

    @keyframes mybox{ //mybox 是我们为这个关键帧起的名字
    from{width:50px;} //from和to 定义 开始和结尾关键帧
    to{width:200px;}
    }

    @-webkit-keyframes mybox{                    //兼容谷歌浏览器
    from{width:50px;}
    to{width:200px;}
    }

    接下来我们在div上使用hover属性来开始动画

    div:hover{
      -webkit-animation:mybox;                        //使用前定义动画名称
      -webkit-animation-duration:2s;      //持续时间
    }

    使用百分比定义关键帧

    @-webkit-keyframes mybox{
      0%{50px; height:100px;}                               定义第一帧宽50px 高100px     0%  50%  100%  代表时间百分比
      50%{200px;height:100px;}                  定义第二帧宽200px 高100px
      100%{200px; heiht:200px;}                  定义第三帧宽200px 高200px           这个动画就是先变长在变高
    }
    
    div:hover{
      -webkit-animation:mybox;
      -webkit-animation-duration:2s;
    }

    时间函数(ease-in-out  曲线图)

      animation-timing-function

      -webkit-animation-timing-function

    延迟时间

      animation-delay

      -webkit-animation-delay

     

    动画指定的次数

      animation-iteration-count:正整数|infinite(无限的)

    动画播放的方向

      animation-diraction:narmal|reverse|alternate|alternate-reverse

        narmal:默认值。正常播放

        reverse:动画反向播放

        alternate:交替(第一次正常,第二次反向。。。。。)

        alternate-reverse:第一次反向播放,第二次正常播放。

     动画播放前后的状态

    @-webkit-keyframes mybox{
      0%{transform:translate(0,200px);}                     
      50%{transform:translate(200px,0);}
      100%{transform:translate(200px,200px);}
    }
    
    div{
      50px;
      height:50px;
      background-color:green;
      -webkit-animation-name:mybox;
      -webkit-animation-duration:2s;
      -webkit-animation-delay:2s;
    }

    animation-fill-mode:none|backwards|forwards|both

      none:默认值,播放完成后回到原始位置

      backwards:设置播放之前的元素状态和第一个关键帧相同

      forwards:设置播放动画之后的元素状态和最后一个关键帧相同

      both:backwards和foreards的结合

    控制动画运行和暂停

      animation-play-state:running|paused

        running:默认值:停止或暂停的动画继续播放

        paused:正在播放的动画暂停播放

      

  • 相关阅读:
    Luogu 1080 【NOIP2012】国王游戏 (贪心,高精度)
    Luogu 1314 【NOIP2011】聪明的质检员 (二分)
    Luogu 1315 【NOIP2011】观光公交 (贪心)
    Luogu 1312 【NOIP2011】玛雅游戏 (搜索)
    Luogu 1525 【NOIP2010】关押罪犯 (贪心,并查集)
    Luogu 1514 引水入城 (搜索,动态规划)
    UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There Was One / POJ 3517 And Then There Was One / Aizu 1275 And Then There Was One (动态规划,思维题)
    Luogu 1437 [HNOI2004]敲砖块 (动态规划)
    Luogu 1941 【NOIP2014】飞扬的小鸟 (动态规划)
    HDU 1176 免费馅饼 (动态规划)
  • 原文地址:https://www.cnblogs.com/xiaowie/p/9888769.html
Copyright © 2011-2022 走看看