Css3 Animation

16996 ワード

概要


CSS 3のanimationはtransition属性と類似しており,いずれも時間とともに要素の属性値を変化させる.彼らの主な違いは、transitionがcssプロパティを時間とともに変更するためにイベント(hoverイベントやclickイベントなど)をトリガーする必要があることです.一方、animationは、イベントをトリガーする必要がない場合でも、時間の経過とともに要素cssのプロパティ値を明示的に変更し、アニメーションの効果を達成することができます.これにより、1つの要素でanimationのアニメーション属性を直接呼び出すことができます.これに基づいて、css 3のanimationには明確なアニメーション属性値が必要です.

サポートされているブラウザ


現在アプリケーションcacheをサポートしているブラウザは次のとおりです.
  • n  IE 10+
  • n  Firefox 12+
  • n  Chome 19+
  • n  Safari 5.1+
  • n  Opera1 12+
  • n  Android browser 4.0+
  • n  Ios safari 3.2+

  •     

    構文


    アニメーションを使用してアニメーションを作成するには、主に2つのステップに分けられます.
    1キーフレームのセットを作成するには、Keyframesを使用します.
    2.要素では、animation-name属性によってキーフレームセットを参照し、他のanimation属性を設定して補助します.ブラウザは、設定した期間、遅延、速度曲線などに基づいて、オーバーキーセット内のキーをスムーズにし、アニメーションを作成します.

     


    Keyframes構文:


    @keyframes IDENT {
         from {
           Properties:Properties value;
         }
         Percentage {
           Properties:Properties value;
         }
         to {
           Properties:Properties value;
         }
       }
    Percentageは、アニメーションプロセス全体の時間スライスをパーセンテージで表します.ここでfromとtoはそれぞれ0%と100%で表すことができる.Properties:Properties valueは通常のcssプロパティと同じです.

     


    Animation関連属性

  • n  animation-name
  • n  animation-duration
  • n  animation-timing-function
  • n  animation-delay
  • n  animation-iteration-count
  • n  animation-direction
  • n  animation-play-state

  • 属性名
    パラメータ要件
    デフォルト
    説明
    .
    animation-name
    対応するキーセット名
    none
    キーセット名(Key Set Name)
    .
    animation-duration
    単位秒
    0s
    アニメーション期間
    .
    animation-timing-function
    値範囲とtransitionのtiming-function:ease linear ease-in ease-out ease-in-out step-start step-end steps(start end)cubic-bezier(num 1 num 2 num 3 num 4)
    ease
    そくどきょくせん
    .
    animation-delay
    単位秒
    0s
    ちえんじかん
    .
    animation-iteration-count
    数値
    1
    ループ再生回数
    .
    animation-direction
    normal:通常再生alternate:偶数回順播、奇数回逆播
    normal
    再生順序
    .
    animation-play-state
    running:pausedの再生を一時停止
    running
    再生ステータス
    .

    Demo

    <!DOCTYPE HTML>
    
    <html lang="en-US">
    
    <head>
    
        <meta charset="UTF-8">
    
        <title></title>
    
        <style type="text/css">
    
    /*             :buttonLight,             background,color       ,  box-shadow       */ 
    
        @-webkit-keyframes 'buttonLight' { 
    
                from { 
    
                    top:0px;
    
                    left:0px;
    
                } 
    
                25% { 
    
                    top:200px;
    
                    left:200px;
    
                    width:200px;
    
                    height: 200px;
    
                } 
    
                50% { 
    
                    top:220px;
    
                    left:100px;
    
                    width:100px;
    
                    height:30px;
    
    
    
                } 
    
                75% { 
    
                    top:400px;
    
                    left:300px;
    
                } 
    
                to {
    
                    top:500px;
    
                    left:500px;
    
    
    
                }
    
            } 
    
            a.btn { /*       */ 
    
                width:100px;
    
                height:30px;
    
                background: #999; 
    
                font-size: 16px; 
    
                top:0px;
    
                left:0px;
    
                position: absolute;
    
                padding: 10px 15px; 
    
                color: #fff; 
    
                text-align: center; 
    
                text-decoration: none; 
    
                font-weight: bold; 
    
                text-shadow: 0 -1px 1px rgba(0,0,0,0.3); 
    
                -webkit-border-radius: 5px; 
    
                -webkit-box-shadow: 0 0 5px rgba(255, 255, 255, 0.6) inset, 0 0 3px rgba(220, 120, 200, 0.8); 
    
    
    
                /*  animation  ,                  */ 
    
                -webkit-animation-name: "buttonLight"; /*    ,   @keyframes       */
    
                -webkit-animation-duration: 5s;/*        */ 
    
                -webkit-animation-iteration-count: infinite;/*         */
    
                -webkit-animation-timing-function: ease-in-out; 
    
    
    
            }
    
    
    
    </style>
    
    </head>
    
    <body>
    
        <a href="" class="btn">  </a>111111111111111
    
    </body>
    
    </html>