CSSアニメーションで動きを指定する

アニメーションの指定方法

アニメーションの基本設定は、animation-nameに付けた名前に対し、keyframesで動きの変化を指定する。また、アニメーションの繰り返しや、変化する時間の調整などの設定も追加できる。

.fadeIn{
  animation-name: fadeInAnime;
  animation-fill-mode: backwards;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
  animation-delay: .5s;
  animation-direction: normal;
}

/* アニメーションの開始から終了までの変化を指定 */
@keyframes fadeInAnime{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

アニメーションはanimationという名前でまとめて指定できる。

animation: bgchange 20s ease 0s infinite normal;
/* (左から)1.定義名 2.変化時間 3.進行具合 4.何秒目から開始するか 5.ループ */
/* 6.アニメーション再生の向きを順方向、逆方向、前後反転のいずれかにするか */

アニメーションの種類を2つ以上組み合わせる時は、カンマ指定で増やしていく。

animation: bgchange01 20s ease infinite,bgchange02 3s ease-in-out;

アニメーションの定義名(animation-name)

アニメーションの定義名は半角英数字で自由に決めることが可能。
animation-nameに付けた名前に対し、keyframesでアニメーションの開始から終了までの変化を指定する。

animation-name: fadeInAnime;
@keyframes fadeInAnime{
  0%{
    /* ここに開始のCSSを記述 */
  }
  60%{
    /* 開始から60%の時点のCSSを記述 */
  }
  100%{
    /* ここに終了のCSSを記述 */
  }
}

@keyframes fadeInAnime{
  from{
    /* ここに開始のCSSを記述 */
  }
  to{
    /* ここに終了のCSSを記述 */
  }
}

※0%~100%の間には20%、60%といった間の動きの設定の追加も可能。
※0%~100%はfromとtoでも代用可能。

アニメーションの開始と終了時の状態を指定(animation-fill-mode)

animation-fill-mode: backwards;
  • none:指定なし。初期値
  • forwards:元の状態に戻らずアニメーション最後の状態を維持
  • backwards:アニメーションの最初の状態に戻る
  • both:backwardsとforwardsの両方の状態を適用

アニメーション1回分の時間の長さを指定(animation-duration)

animation-duration: 3s;

1.5秒なら→1.5s(初期値は0)

動きをループさせる(animation-iteration-count)

animation-iteration-count: infinite;
  • infinite:無限に再生を繰り返す
  • 数値:数値で再生回数を指定する(初期値は1)

アニメーションの進行具合を操作(animation-timing-function)

animation-timing-function: ease;
  • ease:初期値。開始時と終了時が緩やかに変化
  • ease-in:開始時は緩やかに変化、終了に近づくと早く変化
  • ease-out:開始時は早く変化し、終了時は緩やかに変化
  • ease-in-out:開始時と終了時は、かなり緩やかに変化
  • linear:開始から終了まで一定に変化
  • steps(数値, start または end):パラパラ漫画のように数値をコマ数で変化
  • cubic-bezier(数値をカンマ区切りで4つ指定):変化の進行具合を3次ベジェ曲線で指定

アニメーションの開始を遅らせる(animation-delay)

animation-delay: .5s;

3秒なら→3s(初期値は0)

アニメーション再生の向きを順方向、逆方向、前後反転のいずれにするかを決める(animation-direction)

animation-direction: normal;
  • normal:初期値。普通方向の再生で動きを繰り返す
  • reverse:逆方向の再生で動きを繰り返す
  • alternate:奇数回では普通方向、偶数回では逆方向の再生で動きを繰り返す
  • alternate-reverse:毎回逆方向の再生、奇数回では逆方向、偶数回では普通方向
inserted by FC2 system