https://qiita.com/7968/items/1d999354e00db53bcbd8
↑このサイトが分かり易い
↑これもわかりやすい
animation-delayが効かないときは
※つまり、非表示にならず消えないない状態のとき
https://teratail.com/questions/208980
opacity: 0を追加する
.test02 {
animation-name:animation2;
animation-duration: 10s;
animation-timing-function: ease-in-out;
animation-delay: 5s;
opacity: 0;
}
https://www.webdesignleaves.com/pr/css/css_basic_07.html
animationの設定方法 の箇所から参照
animation の設定方法
animation プロパティでは、キーフレームを利用したアニメーションを設定することができます。言い換えると animation プロパティを使用してアニメーションを行うには、キーフレームを作成する必要があります。
キーフレーム @keyframes
- キーフレーム
- 始点と終点の間に複数のアニメーションの変化の設定を記述するもので、
@keyframes キーフレーム名 {…} という形で記述します。
- @keyframes の中には始点と終点を含むキーフレームの設定を記述します
- 始点の設定は 0% {…} または from {…}に、終点の設定は 100% {…} または to {…} に記述します
- 必要に応じて 1 ~ 99% のキーフレームを追加します
- @keyframes キーフレーム名 {
- 0% { 始点のキーフレーム:アニメーションさせたいプロパティの初期状態 }
- 100% { 終点のキーフレーム:アニメーションさせたいプロパティ最終状態 }
- }
または、
- @keyframes キーフレーム名 {
- from { 始点のキーフレーム:アニメーションさせたいプロパティの初期状態 }
- to { 終点のキーフレーム:アニメーションさせたいプロパティ最終状態 }
- }
50% のキーフレームを追加した例
- @keyframes my_anime {
- 0% {
- background-color: #f00;
- }
- 50% {
- background-color: #0f0;
- }
- 100% {
- background-color: #00f;
- }
- }
以下は、クラスが「animation_test」の要素の背景色を3秒間で水色、ピンク、オレンジに変化させるアニメーションの例です。
- <p class=“animation_test”>The First Animation Sample.</p>
アニメーションの対象の要素(この例ではクラスが animation_test の要素)に animation プロパティを指定します。
この例では必須のキーフレーム名(my_anime01)と再生時間(デフォルトは 0s)を 3s に指定しています。
- .animation_test {
- width: 300px;
- padding: 10px 20px;
- text-align: center;
- font-weight: bold;
- animation: my_anime01 3s;
- }
- @keyframes my_anime01 {
- 0% {
- background-color: skyblue;
- }
- 50% {
- background-color: pink;
- }
- 100% {
- background-color: orange;
- }
- }
The First Animation Sample.
これでページを読み込むと同時にアニメーションの再生が始まり、キーフレームで指定したように背景色が変化します。但し、この例の場合は位置がページの中ほどなので、おそらくこの位置に来るまでにアニメーションは終了しているので、アニメーションを表示させるにはページを再読み込みさせます。
アニメーション開始のタイミングは :hover などの擬似要素を利用したり、JavaScript (jQuery) を利用することができます。
animation のプロパティ
animation プロパティでアニメーションを定義する場合、以下の項目を指定することができます。
- animation-name :アニメーション名(キーフレーム名)
- animation-duration : アニメーションにかかる時間(1回分)
- animation-timing-function :アニメーションの速度変化(イージング : タイミング関数)
- animation-delay :アニメーションを開始するまでの時間(遅延時間)
- animation-iteration-count :アニメーションの繰り返し回数
- animation-direction :アニメーションの繰り返し方法(再生方向)
- animation-fill-mode :ディレイ中と再生後の表示状態
- animation-play-state :アニメーションの再生と一時停止
これらの項目は transition プロパティ同様、 animation プロパティでまとめて(ショートハンド)定義することも、個別に設定することも可能です。
まとめて指定する場合(ショートハンド)
指定する各項目を半角スペース区切りで指定します。
animation: キーフレーム名 アニメーションにかかる時間 イージング 遅延時間 繰り返し回数 再生方向;
- animation:sample_anime 0.3s ease-in-out 3s infinite alternate both;
個別に指定する場合
各項目の値を指定します。以下は指定例です。
- animation-name: sample_anime;
- animation-duration: 0.3s;
- animation-timing-function: ease-in-out;
- animation-delay: 3s;
- animation-iteration-count:infinite;
- animation-direction: alternate;
- animation-fill-mode: both;
指定する項目 | 意味と使用例 | デフォルト値 |
---|---|---|
animation-name | アニメーション名(キーフレーム名) アニメーションのキーフレームを示す @keyframes の名前を指定 animation-name: sample_anime; |
なし *必須 |
animation-duration | 1 回のアニメーションサイクルを行う時間の長さ この値は、秒 (単位 “s” で指定) またはミリ秒 (単位 “ms” で指定) で指定することができる。単位を指定しない場合は、秒で指定したものとみなされます。 注: 負の値は 0 として扱われます。 animation-duration: 120ms; |
0s |
animation-timing-function | アニメーションの速度変化(イージング : タイミング関数) キーフレームのブロック内で定義されたアニメーションタイミング関数は、そのキーフレームに対して適用されます。一方、キーフレームでタイミング関数が指定されていない場合は、アニメーション全体に対して指定されたタイミング関数が使用されます。(transition/transition-timing-function で指定する値参照 ) animation-timing-function: ease-in-out; animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1); |
ease |
animation-delay | アニメーションを開始するまでの時間(遅延時間) 要素が読み込まれてからアニメーションを始めるまでの遅延時間 遅延時間に負の値を指定すると、アニメーションは直ちに開始されますが、アニメーションが途中から始まるように見えます。例えば、遅延時間に -1s を指定するとアニメーションは直ちに始まりますが、それは 1 秒経過した時点からになります。 この値は、秒 (単位 s で指定) またはミリ秒 (単位 ms で指定) で指定することができます。単位を指定しない場合は、宣言が無効になります。 animation-delay: 3s; |
0s |
animation-iteration-count | アニメーションの繰り返し回数 無期限に繰り返すことを示す infinite を指定することもできます。 負の値は 0 として扱われます。また、アニメーションの周期の一部を実行するために、整数以外の値を指定することも可能です。例えば 0.5 を指定すると、アニメーションの周期の半分を実行します。 animation-iteration-count: 2.5 |
1 |
animation-direction | アニメーションの繰り返し方法(再生方向) アニメーションするたびに、逆方向のアニメーションを行ってからアニメーションを繰り返すか、始めの状態にリセットしてアニメーションを繰り返すかを設定します。 normal 順方向のアニメーションのみを毎回実行。アニメーションのサイクルごとに、初期状態にリセットされてからアニメーションが再び始まります。 alternate 繰り返しの際、偶数回は逆方向に再生。逆方向のアニメーションを行うときは、初期状態に戻るようなアニメーションになります。また、timing-functions の値も逆になります。例えば ease-in のアニメーションは、逆方向のアニメーションでは ease-out のアニメーションに置き換えられます。 reverse アニメーションを毎回逆方向に実行。アニメーションのサイクルごとに、最終状態にリセットされてからからアニメーションが再び始まります。 alternate-reverse alternateとは逆になります。奇数回を逆方向、偶数回を正方向に再生します。 animation-direction: alternate; |
normal |
animation-fill-mode | アニメーションの実行前後に、指定したスタイルを適用するかを設定します。 none 要素の元のスタイルのまま(アニメーションで指定されたスタイルは、アニメーションの実行前や実行後には適用されない) forwards 再生後、要素のスタイルは最後のキーフレームの状態のままになります。 backwards 再生前、要素のスタイルは最初のキーフレームの状態になります。 both 再生前、要素のスタイルは最初のキーフレームの状態になり、再生後、要素のスタイルは最後のキーフレームの状態のままになります。 animation-fill-mode: both; |
none |
animation-play-state | アニメーションが実行中か、一時停止されているかを判定します。このプロパティの値を取得することで、アニメーションが実行中か否かを調べることができるます。また、このプロパティの値を設定することで、アニメーションを一時停止させたり、再開させたりすることができます。 一時停止されたアニメーションを再開すると、アニメーションは最初から始まるのではなく、一時停止された時点から始まります。 running アニメーションは実行中。 paused アニメーションは一時停止している。 animation-play-state: paused; |
running |
参考サイト