css(8)_animation&Flexbox

5590 ワード

1.Animation


transitionでは、効果を見るにはユーザーのaction(ex.hover)が必要ですが、アニメーションでは、要素が変化し続けるコレクションを作成できます(複数のスタイルの変化を自動的に再生できます).
  • ショートカット属性
  • keyframeというスイートを作成し、それをアニメーションnameと呼び、
  • を使用できます.
    ex)keyframsセットの例
     .cylon_eye {
       background-color: red;
       background-image: linear-gradient(to right,
           rgba(0, 0, 0, .9) 25%,
           rgba(0, 0, 0, .1) 50%,
           rgba(0, 0, 0, .9) 75%);
       color: white;
       height: 100%;
       width: 20%;
         -webkit-animation: 4s linear 0s infinite alternate move_eye;
                 animation: 4s linear 0s infinite alternate move_eye;
       }
    move eyeという名前のkeyframsを呼び出します.
       @-webkit-keyframes move_eye { from { margin-left: -20%; } to { margin-left: 100%; }  }
                @keyframes move_eye { from { margin-left: -20%; } to { margin-left: 100%; }  }

    keyframes


  • 開発者は、アニメーションの中間を特定のポイントを通過できるフレームを設定することで、アニメーションの中間ステップを制御します.

  • ブラウザの自動処理アニメーションよりも中間動作を細かく制御

  • @keyframesキーワードで記述すればよい
      /*두가지 만 적용 했을 때 예시*/
      /* @keyframes +이름 */
     @keyframes slidein {
       from {
         margin-left: 100%;
         width: 300%;
       }
    
       to {
         margin-left: 0%;
         width: 100%;
       }
     }

  • ここでのtop(en-US)アトリビュートは、0%、30%、および100%キーを使用してアニメートされます.left(en-US)アトリビュートは、0%、68%、および100%キーを使用します.
  • 	@keyframes identifier {
            0% { top: 0; left: 0; } /* 0 , 0으로시작해서 */
            30% { top: 50px; } /*3초에는 이 동작*/ 
            68%, 72% { left: 50px; }/*6.8초 그리고 7.2초에는 이동작*/
            100% { top: 100px; left: 100%; } /*끝날 때 동작*/
          }

    animation-name


  • 事前に記入したkeyframs名を記入するだけでいいです.

  • nameは大文字と小文字を区別し、0~9、a-z、、-混在のみ

  • globalに適用される値を名前として使用するべきではありません.
    /* Global values */
       animation-name: initial;
       animation-name: inherit;
       animation-name: revert;
       animation-name: unset;
    animation-name: slide;/ユーザーが指定したスライドという名前のキーフレーム/
  • animation-duration


  • 数分以内に再生するコンテンツの定義

  • 再生を繰り返すことができるので、1つのキーフレームを1サイクルと見なします.

  • delayは負の値を許可しますが、durationは0より大きい正の値の時間を記入する必要があります.
  • /* Single animation */
    animation-duration: 6s;
    animation-duration: 120ms;
    
    /* Multiple animations */
    animation-duration: 1.64s, 15.22s;
    animation-duration: 10s, 35s, 230ms;
    

    animation-delay

  • が起動すると、再生に1サイクルの遅延時間を与えることができ、それはどのくらい指定されたプログラム
  • であるかを指定することができる.
    /* Single animation */
    animation-delay: 3s;
    animation-delay: 0s;
    animation-delay: -1500ms;
    
    /* Multiple animations */
    animation-delay: 2.1s, 480ms;

  • 正の値は、アニメーションが指定された時間後に開始する必要があることを示します.つまり、既定値が0のアニメーションが適用された後、すぐに開始します.

  • 負の値-1 sで負の値を指定すると、アニメーションはすぐに開始しますが、再生時間はアニメーションシーケンスの1秒から開始します.
  • animation-timing-function

  • 伝送と同じ
  • で使用可能な様々な値は、ここで
  • を参照してください.
    🚨 いろいろな値と一緒にアクションをする姿が見られます!
    https://developer.mozilla.org/en-US/docs/Web/CSS/animation-timing-function

    animation-interation-count

  • の繰り返し回数
  • と解釈できる.
  • 再生回数可変
  • 遷移は一度しか行われず、遷移の概念
  • には使用できない.

    values

  • 無限:無限反復
  • number:1->
  • を1回繰り返す

    animation-direction

  • 遷移はa->b一方向に指定され、アニメーションはキーフレームを作成し、異なる方向に
  • を指定することができる.
    animation-direction : alternate-reverse;

    values


  • noremal:各アニメーションループの順方向再生ループの場合、開始状態に設定して再開します.これがデフォルトです.

  • リバースリバース:各ループでリバース再生

  • Alternate:各サイクルで各サイクルの方向を反転し、最初の反復は順方向です.

  • Alternate-reverse:各サイクルで各サイクルの方向を反転し、最初のサイクルを逆方向に行います.
  • animation-play-state

  • 使用可能な値は2つのみ
  • です.
  • アニメーション効果日は、
  • を一時停止または実行できます.
    animation-play-state : paused;

    values


  • running:再生中の状態

  • 一時停止:アニメーションが停止しています
  • animation-fill-mode

  • アニメーションの実行前と実行後のスタイルをターゲットに適用する方法を指定します.

    values


  • none:keyframsに適用しないで、自分の元のスタイルだけを適用します.

  • forwards:keyframsの最後の側面を維持

  • ≪戻る|Back|emdw≫:遅延時間の場合は、キーを持って事前に準備します.

  • 👌 ここで動作を比較してみましょう
    https://developer.mozilla.org/ko/docs/Web/CSS/animation-fill-mode

    アニメーション(ショートカット属性ver)

  • に設定初期値は以下の
  • である.
    最後に
  • アニメーション名を書きます
  • 時間の項目は2つあり、前はduration、後ろはdelay、
  • animation-name (en-US): none
  • animation-duration: 0s
  • animation-timing-function (en-US): ease
  • animation-delay: 0s
  • animation-iteration-count (en-US): 1
  • animation-direction: normal
  • animation-fill-mode: none
  • animation-play-state (en-US): running
  • 使用例

    /* @keyframes duration | timing-function | delay |
    iteration-count | direction | fill-mode | play-state | name */
    animation: 3s ease-in 1s 2 reverse both paused slidein;
    
    /* @keyframes duration | timing-function | delay | name */
    animation: 3s linear 1s slidein;
    
    /* @keyframes duration | name */
    animation: 3s slidein;