【CSS】「animation-duration」プロパティの使い方!【分かりやすい】
しゅーた(@chibasyuta)です!
この記事ではCSSの「animation-duration」プロパティの使い方について解説します!丁寧にまとめていくので、興味がある方はぜひご一読ください。
「animation-duration」を使うと、「アニメーション1回にかかる時間」の指定をすることができます。とても重要なプロパティです。
この記事の内容!
- 「animation-duration」プロパティを使うと何ができるのか?
- 「animation-duration」プロパティの使い方!
それでは内容へ入ります!
「animation-duration」プロパティは「@keyframes」と一緒に使われる。
なのでもし「@keyframes」の使い方がいまいち分からないという方は下記の記事で詳しくまとめているので、こちらも一緒に読んでみてください!
【CSS】「@keyframes」を使ってアニメーションをつける基本的な方法!【分かりやすい】
「animation-name」を使うと何ができるのか?
@keyframes width {
0% {
width: 100px;
}
100% {
width: 900px;
}
}
.box {
animation-name: width;
animation-duration: 2s;
}
「animation-duration」を使うと「アニメーション1回にかかる時間」の指定をすることができます。
より具体的に書くと、「@keyframes」で作ったアニメーションをつける際に「そのアニメーション1回にかかる時間」の指定ができる、という感じです。
「animation-duration」の使い方!
アニメーションを設定する要素自体に「animation-duration」の指定をする!
@keyframes width {
0% {
width: 100px;
}
100% {
width: 900px;
}
}
.box {
animation-name: width;
animation-duration: 2s;
}
「animation-duration」の指定は、アニメーションをつける要素に対して行えばOKです!
上の例だと、「@keyframes」を使って「width 」というアニメーションを定義して、そのアニメーションを「.box」というクラスがついた要素に「animation-name」プロパティを使って設定しています。
そしてその「.box」というクラスがついた要素に「animation-duration」プロパティを使って、「1回のアニメーションにかかる時間」の設定をしている、という感じになりますね。
「時間」を表す値を書いてあげればOK!
「animation-duration」には「時間」を表す値を書いてあげればOKです。
具体的には下記があります!
- 「s」という単位で指定
- 「ms」という単位で指定
- 「0s」初期値
これらがあります。
「s」という単位は「seconds」(秒)の略で、「秒」を表します。
「ms」という単位は「milliseconds」(ミリ秒)の略で、「ミリ秒」を表します。
「1s」=「1000ms」 です。
また、少数での指定の際は、整数部分の「0」を省略できます。
「 0.6s」→「.6s」という感じ。
「カンマ区切り」で「複数の値」も書くことができる!
.box {
width: 100px;
height: 100px;
background-color: skyblue;
animation-name: width, slide, rotate;
animation-duration: 1s, 2s, 3s;
}
@keyframes width {
0% {
width: 100px;
}
100% {
width: 300px;
}
}
@keyframes slide {
0% {
transform: translateY(0);
}
100% {
transform: translateY(200px);
}
}
@keyframes rotate {
0% {
transform: rotate(0);
}
100% {
transform: rotate(90deg);
}
}
このように「animation-duration」には「カンマ区切り」で「複数の値」を書くことができます。
その場合は、「animation-name」に書かれた順番に対応する形で「animation-duration」の値がそれぞれのアニメーションに対して別々に指定される感じになります。
この辺の挙動は下記の記事で詳しくまとめているので、もし気になる方は下記の記事を読んでみてください!
【CSS】「animation-name」プロパティの使い方!【分かりやすい】
参考リンク!
仕様書。
https://drafts.csswg.org/css-animations/#animation-duration
MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/animation-duration
おすすめの再生リスト!
こちらは僕が制作したYouTubeの再生リスト「CSSのアニメーション編」です。
「CSSのアニメーション編」はCSSを使ったアニメーションの知識が網羅的に学習できるコンテンツとなります。
こちらの再生リストでCSSアニメーションについて丁寧に解説しているので、もし気になる方はチェックしてみてください!一緒に楽しく学習しましょう!!
まとめ!
「animation-duration」を使うと「@keyframes」で定義したアニメーションをつけた要素に対して、「アニメーション1回にかかる時間」の指定をすることができる。
アニメーションを設定する要素自体に「animation-duration」の指定をする。
「時間」を表す値を書いてあげればOK!
「カンマ区切り」で「複数の値」も書くことができる!
この記事が気に入った方は僕のTwitter(@chibasyuta)のチェックもお願いします!
それではこんな感じでこの記事を終わります!
ではまた!