実習課題ファイルのダウンロード
css-animation: 実習用HTML+CSSアニメーションは【何をしたら】のきっかけが必要
通常のCSSは【どこを(=セレクタ)】【どうしたい(=命令)】の2つの記述だけですが、アニメーションを行う場合は
【どこに】【何をしたら】【どうしたい】
の3つの記述が必要です。
:hover
疑似要素:hoverはアニメーションを指定する直接のプロパティではないですが、【マウスが乗ったタイミングでアニメーションを開始】といったように「起動するトリガー」としてよく使われます。
記述例
transition
transitionプロパティは簡単な記述で手軽にアニメーションを適用できます。
transitionの基本プロパティ
- transition-property
- アニメーションするプロパティを指定
例: ransition-property: background-color; - transition-duration
- アニメーションを開始してから終わるまでの時間
例: ransition-duration: 3s; - transition-delay
- アニメーションを開始するまでの待ち時間
例: transition-delay: 3s; - transition-timing-function
- アニメーションの変化のパターン
transition-timing-functionで使用できる値
[書き方]
- ease
- 開始時と終了時にはゆっくり変化(初期値)
- ease-in
- 開始時はゆっくり変化し、終了時は早く変化
- ease-out
- 開始時に早く、終了時にゆっくり変化
- ease-in-out
- easeよりさらに、開始時と終了時はゆっくり変化
- linear
- 速度が変わることなく一定に変化
記述例
マウスオーバーしたとき1秒かけて帯を伸ばす
animation
animationプロパティはtransitionよりも複雑なアニメーションの指定が可能です。
animationでの設定のポイント
- 【キーフレーム】と言われるタイムラインを設定することで、アニメーションの【動き】を設定する
- トリガー側にアニメーション指定をすべて書く
- 無限に動き続けるアニメーションが設定できる
animationの基本プロパティ
- animation-name
- 適用させたい「キーフレーム名」を指定
例: animation-name: anime01;
- animation-duration
- アニメーションが開始してから終わるまでの時間(※ transitionと同じルール)
例: animation-duration: 2s;
- animation-timing-function
- アニメーションの変化のパターン(※ transitionと同じルール)
例: animation-timing-function: ease;
- animation-delay
- アニメーションを開始するまでの待ち時間(※ transitionと同じルール)
例: animation-delay: 0.4s;
- animation-iteration-count
- アニメーションを何回繰り返すか指定
例: animation-delay: 1;
無限に繰り返す場合: animation-delay: infinite;
- animation-direction
- アニメーションの再生方向を指定
animation-directionで使用できる値
[書き方]
- normal
- 順方向に再生される(初期値)
- reverse
- 逆方向に再生される
- alternate
- 順方向と逆方向が交互に再生される
- alternate-reverse
- 逆方向を始まりとし、順方向と逆方向が交互に再生される
- animation-fill-mode
- アニメーションが開始する前後の状態を指定
animation-fill-modeで使用できる値
[書き方]
- none
- 前後の状態は指定されない(初期値)
- forwards
- 再生後、アニメーション終了時のスタイルが適用されたままになる
- backwards
- animation-delayが指定されている時、待ち時間にアニメーション開始時のスタイルが適用される
- both
- forwardsとbackwardsの両方が適用される
@keyframes
animationプロパティはキーフレーム(@keyframes)の作成が必須です。キーフレームでタイムラインに沿った【動き】を指定します。
[書き方]
例えばこんな感じで、キーフレーム内のポイントはいくつでも設定できます。
記述例
左右に動き続けるcube
参考リンク
状態変化系プロパティ(translate,rotate,scale)
状態変化系プロパティ使うことで、アニメーションの動きのバリエーションを増やすことができます。
またこれらを使った移動や変形は、現状のレイアウトを崩さず適用できる点も特徴です。
状態変化系プロパティの種類
- translate[移動]
-
※移動距離は下記のように記述します。
[書き方]
- rotate [回転]
-
※角度はdegで記述します。
[書き方]
- scale [拡大縮小]
-
※拡大縮小値は倍数で記述します。
[書き方]
記述例
cubeを無限に回転させる
CSS簡単記述フォーム
下記に情報を入力することでアニメーションプロパティを作成できます。