CSSアニメーションを理解しましょう!

説明

CSSアニメーションとは

アニメーションが印象に残るサイト

CSSアニメーション関連プロパティ

transition
変化の適用対象と時間を指定します。
transform
変形する形態(移動、回転、伸縮、傾斜)を指定すします。
@keyflame
アニメーションの開始から終了までの動きの制御規則を指定します。
animation
@keyframesの適用を指定します。

transition

変化の適用対象と時間を指定します。

transition-property
変化の適用対象と時間を指定します。
all(初期値)
transitionが適用できるプロパティを全て指定できます。
特定のプロパティ
指定したプロパティだけが対象になります。
例えばback-groundcolorだけを対象にしたい時は以下のように指定します。
(例)transition-property: background-color;
transition-duration
変化の開始から終了までの時間を指定するプロパティです。
時間の単位は秒(s)またはミリ秒(ms)で指定します。
初期値は「0s」で、この場合は変化はしません。
開始から終了まで3秒間かけて変化させる時は以下のように指定します。
(例)transition-duration: 3s;
 
transition-delay
変化が開始するまでの遅延時間を指定します。
時間の単位は秒(s)またはミリ秒(ms)で指定します。
初期値は「0s」で、この場合は遅延することなくすぐに開始されます。
開始から2秒遅延させて変化させる時は以下のように指定します。
(例)transition-delay: 2s;
 
transition-timing-function
変化の仕方を指定するプロパティです。
ease(初期値)
開始時と終了時は緩やかに変化します。
linear
開始から終了まで一定に変化します。
ease-in
開始時は緩やかに、終了時は早く変化します。
ease-out
開始時は早く、終了時は緩やかに変化します。
transition
ショートハンドプロパティでありtransition関連プロパティを一括で指定します。
transition: <変化の対象> <変化の時間> <変化の遅延> <変化の仕方>;
<変化の対象>
transition-propertyの値を指定します。
<変化の時間>
transition-durationの値を指定します。。
<変化の遅延>
transition-delayの値を指定します。。
<変化の仕方>
transition-timing-functionの値を指定します。。

transform

変形する形態(移動、回転、伸縮、傾斜)を指定すします。
transformには2D(XY方向)と3D(XYZ方向)の指定ができますが今回は2Dのみについて解説します。

transform(translate)
移動を指定します。移動幅は「px」や「%」で指定します。
translateX(X軸方向移動幅)
X軸方向に指定した幅を移動します。
translateY(Y軸方向移動幅)
Y軸方向に指定した幅を移動します。
translate(X軸方向移動幅,Y軸方向移動幅)
XY軸方向に指定した幅を移動します。
transform(rotate)
回転を指定します。回転する角度はdegで指定します。(90deg=90度)
rotate(角度)
回転を指定します。整数は時計周り、負数は反時計周りになります。
rotateX(角度)
X軸方向に回転します。
rotateY(角度)
Y軸方向に回転します。
transform(scale)
伸縮を指定します。伸縮は元の大きさを「1」として比率(数値)で指定します。
scaleX(X軸方向伸縮率)
X軸方向に指定した伸縮率で伸縮します。
scaleY(Y軸方向伸縮率)
Y軸方向に指定した伸縮率で伸縮します。
scale(X軸方向伸縮率,Y軸方向伸縮率)
XY軸方向に指定した伸縮率で伸縮します。。
transform(skew)
傾斜を指定します。傾斜する角度はdegで指定します。(90deg=90度)
skewX(X軸方向角度)
X軸方向に指定した角度で傾斜します。
skewY(Y軸方向角度)
Y軸方向に指定した角度で傾斜します。
skew(X軸方向角度,Y軸方向角度)
XY軸方向に指定した角度で傾斜します。。

@keyframes

アニメーションの開始から終了までの動きの制御規則を指定します。
実際の適用はanimetionプロパティで指定します。

「from / to」で指定
アニメーションの開始(from)から終了(to)までの動きを指定します。
百分率(%)で指定
アニメーションの開始(0%)から終了(100%)までの動きを指定します。
「25%」や「50%」など細かく指定することができます。

「from / to」で指定


    @keyframes (名前) {
        from {
            opacity: 1;
        }
        to {
            opacity: 0;
        }
    }
	

百分率(%)で指定


    @keyframes (名前) {
        0% {
            opacity: 1;
        }
        100% {
            opacity: 0;
        }
    }
	

animetion

@keyframesの適用を指定します。
「transition」と同様の機能もありますが、より細かい動きを実装することが可能です。

animation-name
アニメーションの名前(@keyframesでつけた(名前))を指定します。
適用対象を指定するだけで実際のアニメーションはされません。
 
animation-duration
アニメーションの開始から終了までの時間を指定します。
時間の単位は秒(s)またはミリ秒(ms)で指定します。
初期値は「0s」です。
 
animation-timing-function
アニメーションの変化の仕方を指定するプロパティです。
ease(初期値)
開始時と終了時は緩やかに変化します。
linear
開始から終了まで一定に変化します。
ease-in
開始時は緩やかに、終了時は早く変化します。
ease-out
開始時は早く、終了時は緩やかに変化します。
step-start
開始時に最終の状態になります。
step-end
終了時に最終の状態になります。
steps
指定した値で段階的に変化します。
animation-timing-function: steps(<ステップ数>,<ディレクション>):
<ディレクション>は以下の値を指定します。
jump-start
アニメーションの開始時に最初のジャンプが発生
jump-end
アニメーションの最後時に最後のジャンプが発生
jump-none
どちらもジャンプは未発生(0%と100%の位置で、それぞれの1/n間隔を保持)
start
jump-startと同様
end
jump-endと同様
step-start
steps(1, jump-start)と同様
step-end
steps(1, jump-end)と同様
animation-delay
アニメーションの開始するまでの遅延時間を指定します。
時間の単位は秒(s)またはミリ秒(ms)で指定します。
初期値は「0s」です。
 
animation-iteration-count
アニメーションの繰り返し回数を指定します。
初期値は「1」です。
無限に繰り返す場合は値に「infinite」を指定します。
 
animation-direction
アニメーションの再生方向を指定するプロパティです。
normal(初期値)
毎回、順方向から再生します。
reverse
毎回、逆方向から再生します。
alternate
毎回反転させ、初回は順方向から再生します。
alternate-reverse
毎回反転させ、初回は逆方向から再生します。
animation-fill-mode
アニメーションの開始前、終了後のスタイルを指定するプロパティです。
none(初期値)
アニメーション再生後、元のスタイルが適用されます。
forwards
アニメーション再生後、@keyframesで設定した100%の部分が適用されます。
backwards
animation-delay(開始するまでの遅延時間)で指定してる時間の間 @keyframesで設定した0%の部分が適用されます。
both
forwardsとbackwardsの両方によるスタイルが適用されます。
animation-play-state
アニメーションの再生・停止を指定するプロパティです。
running(初期値)
アニメーションが実行中になります。
paused
アニメーションが停止中になります。
animation
ショートハンドプロパティでありanimetion関連プロパティを一括で指定します。
animetion:
      <名前>
      <変化の時間>
      <変化の仕方>
      <開始時間の遅延>
      <繰り返し>
      <再生方向>
      <開始後のスタイル>
      <再生・停止>;
<名前>
animation-nameの値を指定します。
<変化の時間>
animation-durationの値を指定します。
<変化の仕方>
animation-timing-functionの値を指定します。
<開始時間の遅延>
animation-delayの値を指定します。
<繰り返し>
animation-iteration-countの値を指定します。
<再生方向>
animation-directionの値を指定します。
<開始後のスタイル>
animation-fill-modeの値を指定します。
<再生・停止>
animation-play-stateの値を指定します。

表示例:transition

transition-duration(変化の開始から終了までの時間)

※オンマウス(スマホはタップ)して確認してください。

transition-duration: 1s;(開始時から終了までの時間:1秒)

DEAU

transition-duration: 3s;(開始時から終了までの時間:3秒)

DEAU

transition-delay(変化が開始するまでの遅延時間)

※オンマウス(スマホはタップ)して確認してください。

transition-delay: 1s;(変化が開始するまでの遅延時間:1秒)

DEAU

transition-delay: 3s;(変化が開始するまでの遅延時間:3秒)

DEAU

transition-timing-function(変化の仕方)

※オンマウス(スマホはタップ)して確認してください。

transition-timing-function: ease;(開始時と終了時は緩やかに変化:初期値)

DEAU

transition-timing-function: linear;(開始から終了まで一定に変化)

DEAU

transition-timing-function: ease-in;(開始時は緩やかに、終了時は早く変化)

DEAU

transition-timing-function: ease-out:(開始時は早く、終了時は緩やかに変化)

DEAU

表示例:transform

translate(移動を指定)

※オンマウス(スマホはタップ)して確認してください。

transform: translateX(100px);(X軸方向に移動:100px)

DEAU

transform: translateX(-100px);(X軸方向に移動:-100px)

DEAU

transform: translateY(100px);(Y軸方向に移動:100px)

DEAU

transform: translateY(-100px);(Y軸方向に移動:-100px)

DEAU

transform: translate(100px, 100px);(XX軸方向に移動:100px, 100px)

DEAU

rotate(回転を指定)

※オンマウス(スマホはタップ)して確認してください。

transform: rotate(90deg);(時計方向に回転:90度)

DEAU

transform: rotate(180deg);(時計方向に回転:180度)

DEAU

transform: rotate(-180deg);(反時計方向に回転:-180度)

DEAU

transform: rotateX(180deg);(X軸方向に回転:180度)

DEAU

transform: rotateY(180deg);(Y軸計方向に回転:180度)

DEAU

scale(伸縮を指定)

※オンマウス(スマホはタップ)して確認してください。

transform: scaleX(0.5);(X軸方向に伸縮:0.5倍)

DEAU

transform: scaleX(1.5);(X軸方向に伸縮:1.5倍)

DEAU

transform: scaleY(1.5);(Y軸方向に伸縮:1.5倍)

DEAU

transform: scale(1.5, 1.5);(XY軸方向に伸縮:1.5倍, 1.5倍)

DEAU

skew(傾斜を指定)

※オンマウス(スマホはタップ)して確認してください。

transform: skewX(25deg);(X軸方向に傾斜:25度)

DEAU

transform: skewX(-25deg);(X軸方向に傾斜:-25度)

DEAU

transform: skewY(25deg);(Y軸方向に傾斜:25度)

DEAU

transform: skew(25deg, 25deg);(XY軸方向に傾斜:25度, 25度)

DEAU

表示例:animetion

animetion-duration(アニメーションの開始から終了までの時間)

animetion-duration: 1s;(開始時から終了までの時間:1秒)

DEAU

animetion-duration: 3s;(開始時から終了までの時間:3秒)

DEAU

animation-timing-function(アニメーションの変化の仕方)

animation-timing-function: ease;(開始時と終了時は緩やかに変化(初期値))

DEAU

animation-timing-function: linear;(開始から終了まで一定に変化)

DEAU

animation-timing-function: ease-in;(開始時は緩やかに、終了時は早く変化)

DEAU

animation-timing-function: ease-out;(開始時は早く、終了時は緩やかに変化)

DEAU

animation-timing-function: steps;(指定した値で段階的に変化:10, start)

DEAU

animetion-delay(アニメーションが開始するまでの遅延時間)

※画面をリロード(再読み込み)して確認してください。

animation-delay: 0s;(開始するまでの遅延時間:0秒)

DEAU

animation-delay: 1s;(開始するまでの遅延時間:1秒)

DEAU

animation-delay: 3s;(開始するまでの遅延時間:3秒)

DEAU

animation-iteration-count(アニメーションの繰り返し回数)

※画面をリロード(再読み込み)して確認してください。

animation-iteration-count: 2;(繰り返し回数:2回)

DEAU

animation-iteration-count: infinite;(繰り返し回数:infinite(無限))

DEAU

animation-direction(アニメーションの再生方向)

animation-direction: normal;(毎回、順方向(初期値))

DEAU

animation-direction: reverse;(毎回、逆方向)

DEAU

animation-direction: alternate;(毎回反転させ、初回は順方向)

DEAU

animation-direction: alternate-reverse;(毎回反転させ、初回は逆方向)

DEAU

animation-fill-mode(アニメーションの開始前、終了後のスタイル)

※画面をリロード(再読み込み)して確認してください。
※背景色は「元のスタイル:赤、0%のスタイル:緑、100%のスタイル:青」に設定。
※遅延時間を「2秒間」に設定。

animation-fill-mode: none;(終了後に元のスタイル(初期値))

DEAU

animation-fill-mode: forwards;(終了後に100%部分が適用)

DEAU

animation-fill-mode: backwards;(開始前の遅延時間は0%部分が適用)

DEAU

animation-fill-mode: both;(forwards、backwardsの両方)

DEAU

animation-play-state(アニメーションの再生・停止)

※オンマウス(スマホはタップ)して確認してください。

animation-play-state: paused;(オンマウスで停止)

DEAU

サンプル

写真ギャラリーでオンマウス時に写真を拡大

150-EU002.jpg
250-AA072.jpg
250-AA185.jpg
250-AA226.jpg
250-AA234.jpg
250-AA369.jpg
250-AC248.jpg
250-AD167.jpg
250-AD431.jpg
250-AE003.jpg
250-AE397.jpg
250-AE510.jpg
250-AF008.jpg
250-AF353.jpg
250-AF458.jpg
250-AF468.jpg
250-AF533.jpg
250-AF582.jpg
250-HN015.jpg
250-NG001.jpg

ローディングなどで使用される待ち状態アイコン

肉球が歩くアニメーション

左足
右足