動くCSSのためのメモ。

CSSでできる事がどんどん増えてます。JavaScriptを使って実装するようなレイアウトやUIも、CSSだけで作れちゃうほど、便利なプロパティがじゃんじゃか増えましたね。ここでは、要素にアニメーション効果をつけるためのCSSを使ったエフェクトについて、まとめてゆこうと思います:)。
CSSで動かす
「動く」といっても、自由自在にぐにゃぐにゃ動かせるわけではなくて、CSSアニメーションでは、プロパティの数値をスムーズに増減させることで、要素のスタイルを滑らかに変化させます。
例えば、下のサンプルでは、p要素にカーソルを合わせた時に、font-sizeの値を、1emから2emに、スムーズに変化するように指定しています。
p {
	transition: font-size 1s;
}動かすためのマストプロパティ
CSSでアニメーションさせるために必要不可欠なのがtransitionプロパティとanimationプロパティ!関連するプロパティを以下にまとめました。これらを使い倒して、いろいろなエフェクトが表現できます。
transitionプロパティ
- transition-propertyプロパティ
- 効果を適用したいプロパティ名を指定します。
- none
- all(初期値)
- CSSプロパティ名
 
- transitionを適用できるプロパティは、プロパティの値を数値で表現できるものすべて。- colorの値に使われる- redや- lightSeaGreenなどの色名も、RGBなどの数値で表すことができるのでちゃんと適用されます。
- transition-durationプロパティ
- 変化の開始から完了までにかかる時間を、秒数で指定します。
- 0s(初期値)
- 秒数
 
- 1秒(1000ミリ秒) =
- 1s(- 1000ms)。
- transition-timing-functionプロパティ
- 変化の仕方(イージング)を指定します。
- ease(初期値)
- linear
- ease-in
- ease-out
- ease-in-out
- step-start
- step-end
- steps()
- cubic-bezier()
 
- cubic-bezier関数を使えばオリジナルなイージングを作ることもできます。詳しくはマウスオーバーエフェクトのページで後述。
- transition-delayプロパティ
- 変化を開始するまでの待ち時間を、秒数で指定します。
- 0s(初期値)
- 秒数
 
- マイナスの値を指定すると、その分進んだ時点から変化を開始します。
animationプロパティ
- animation-nameプロパティ
- 適用したいアニメーション名を指定します。
- none(初期値)
- アニメーション名
 
- アニメーション名とは@keyframes規則で定義したアニメーションの名前のこと(後述)。
- animation-durationプロパティ
- アニメーションの一回分の長さを、秒数で指定します。
 - 0s(初期値)
- 秒数
 transition-durationと同様。
- animation-timing-functionプロパティ
- アニメーションの仕方(イージング)を指定します。
- ease(初期値)
- linear
- ease-in
- ease-out
- ease-in-out
- step-start
- step-end
- steps()
- cubic-bezier()
 
- transition-timing-functionと同様。
- animation-delayプロパティ
- アニメーションを開始するまでの待ち時間を、秒数で指定します。
- 0s(初期値)
- 秒数
 
- transition-delayと同様。
- animation-iteration-countプロパティ
- アニメーションを繰り返す回数を指定します。
- 1(初期値)
- 回数
- infinite
 
- infiniteは無限にアニメーションが繰り返されます。回数を小数点以下に指定した場合は途中までアニメーションします。
- animation-directionプロパティ
- アニメーションする方向を指定します。alternateは、偶数回めのアニメーションを逆再生にする指定。
- normal(初期値)
- reverse
- alternate
- alternate-reverse
 
- animation-play-stateプロパティ
- アニメーションを再生させたり一時停止させたりできます。
- running(初期値)
- paused
 
- animation-fill-modeプロパティ
- アニメーションの前後に、スタイルをどう適用するかを指定します。※詳しくはマウスオーバーエフェクトのページで後述。
- none(初期値)
- forwards
- backwards
- both
 
- @keyframes規則
- 以下のような書き方でキーフレームを定義します。
 キーフレームとは、経過時間に対して、0%(from)時点〜100%(to)時点、その時々の要素の状態を設定したもの。動きの過程を書き記した台本みたいな感じ。@keyframes アニメーション名 { from { アニメーション開始時の要素の状態 } 50% { 50%経過した時点の要素の状態 } to { アニメーション終了時の要素の状態 } }
動かすためのメモ
上で紹介した動かすプロパティを使って、いろんなエフェクトを作ってみました。ご参考まで:D!




