このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

animation-play-state”プロパティ:アニメーションの一時停止CSS3で追加

記事Aug. 27th,2021
アニメーションが実行中かどうかを指定するプロパティ
この記事はCSS3に対応しています。
この記事はCSS3に対応しています。

プロパティについて

概要

初期値 animation-play-state: running;
適用対象 すべての要素
継承 No
パーセント値 パーセント値は指定できません
計算値 指定したキーワードをアイテムとするリスト
アニメーション 不可

animation-play-state”プロパティはanimation-name”プロパティなどで指定されたアニメーションが実行中なのか停止中なのかを指定するプロパティです。

animation-play-state”プロパティの値をセレクタ(:hover”擬似クラスなど)やスクリプトなどを使用して“running”と“paused”で切り替えることでアニメーションを一時停止したり、停止した時点から再開したりすることができます。

サンプルコード

div { animation-play-state: 10s;}

説明
<single-animation-play-state>”値
running アニメーションは通常通り実行されます
paused アニメーションは停止されます (値が“running”に変更されるとアニメーションは停止した時点から再開します。animation-delay”プロパティで指定した遅延時間中に停止された場合は再開時に残りの遅延時間が経過した後にアニメーションが開始します。)
他の値
共通キーワード

複数のアニメーションを指定する

animation-name”プロパティで複数のアニメーションが指定されている場合、値を“,(コンマ)”で区切って記述することでそれぞれのアニメーションが実行中かどうかを指定することができます。値の順番はanimation-name”プロパティで指定した値の順番に対応します。

div {
animation-name: 〚1個目のアニメーション〛,〚2個目のアニメーション〛,〚3個目のアニメーション〛,...;
animation-play-state: 〚1個目のアニメーションの設定〛,〚2個目のアニメーションの設定〛,〚3個目のアニメーションの設定〛,...;
}

仕様書

定義されている仕様書
Level 1
作業草稿(WD)
animation-play-state
定義あり
Level 1
作業草稿(WD)
running
定義あり
paused
定義あり

使用例

アニメーションを再生する

.sample-box {
animation-name: SampleAnime1;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-play-state: running;
}

@keyframes SampleAnime1 {
0% { transform: translate(0); }
100% { transform: translate(300px); }
}

アニメーションを停止する

.sample-box {
animation-name: SampleAnime1;
animation-duration: 5s;
animation-iteration-count: infinite;
animation-play-state: running;
}

.sample-box:hover {
animation-play-state: paused;
}

@keyframes SampleAnime1 {
0% { transform: translate(0); }
100% { transform: translate(300px); }
}
*ホバーするとアニメーションが一時停止します

複数のアニメーションを指定する

.sample-box {
animation-name: SampleAnime1, SampleAnime2;
animation-duration: 5s, 10s;
animation-iteration-count: infinite, infinite;
animation-play-state: running,running;
}

.sample-box:hover {
animation-play-state: paused,running;
}

@keyframes SampleAnime1 {
0% { transform: translate(0); }
100% { transform: translate(300px); }
}

@keyframes SampleAnime2 {
0% { background-color: rgb(71,209,209)} /* */
20% { background-color: rgb(170,207,83)} /* */
40% { background-color: rgb(248,184,98)} /* */
60% { background-color: rgb(211,56,28)} /* */
80% { background-color: rgb(233,84,107)} /* */
100% { background-color: rgb(180,76,151)} /* */
}
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク