home
twitter
ページトップへ
目次
  • 「animation-fill-mode」プロパティは「@keyframes」と一緒に使われる。
  • 「animation-fill-mode」を使うと何ができるのか?
  • アニメーションを設定する要素自体に「animation-fill-mode」の指定をする!
  • 「アニメーションのスタート地点のスタイル」というのは必ずしも「@keyframes」の「0%」のスタイルという訳ではない。
  • 「アニメーションの終了地点のスタイル」は必ずしも「@keyframes」の「100%」のスタイルという訳ではない。
  • 「animation-fill-mode」に設定できる値は?
  • この動画で実際の挙動とコードの確認ができます。
  • 「none」を使うと?(初期値)
  • 「forwards」を使うと?
  • 「backwards」を使うと?
  • 「both」を使うと?
  • 「カンマ区切り」で「複数の値」も書くことができる!
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!
about
categories
page
archive
皇帝ペンギンブログ

2024/09/06 (更新日:2024/09/09)

【CSS】「animation-fill-mode」プロパティの使い方!【分かりやすい】

Categories > CSSのアニメーション編
こんばんは!初めましての方は初めまして!
しゅーた(@chibasyuta)です!

この記事ではCSSの「animation-fill-mode」プロパティの使い方について解説します!丁寧にまとめていくので、興味がある方はぜひご一読ください。

「animation-fill-mode」を使うと「アニメーション前後でどのスタイルを適用するのか」の指定ができます。

この記事の内容!

  • 「animation-fill-mode」プロパティを使うと何ができるのか?
  • 「animation-fill-mode」プロパティの使い方!
また、下の動画でもCSSの「animation-fill-mode」プロパティの使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それでは内容へ入ります!

目次
非表示
  • 「animation-fill-mode」プロパティは「@keyframes」と一緒に使われる。
  • 「animation-fill-mode」を使うと何ができるのか?
  • アニメーションを設定する要素自体に「animation-fill-mode」の指定をする!
  • 「アニメーションのスタート地点のスタイル」というのは必ずしも「@keyframes」の「0%」のスタイルという訳ではない。
  • 「アニメーションの終了地点のスタイル」は必ずしも「@keyframes」の「100%」のスタイルという訳ではない。
  • 「animation-fill-mode」に設定できる値は?
  • この動画で実際の挙動とコードの確認ができます。
  • 「none」を使うと?(初期値)
  • 「forwards」を使うと?
  • 「backwards」を使うと?
  • 「both」を使うと?
  • 「カンマ区切り」で「複数の値」も書くことができる!
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!

「animation-fill-mode」プロパティは「@keyframes」と一緒に使われる。

「animation-fill-mode」プロパティは単体で使うのではなく「@keyframes」を使ったアニメーションの定義と一緒に使われます。

なのでもし「@keyframes」の使い方がいまいち分からないという方は下記の記事で詳しくまとめているので、こちらも一緒に読んでみてください!

【CSS】「@keyframes」を使ってアニメーションをつける基本的な方法!【分かりやすい】

関連記事

「animation-fill-mode」を使うと何ができるのか?

https://chibasyuta.org/wp-content/uploads/2024/09/demo_new-6.mp4
.box {
    width: 100px;
    height: 100px;
    background-color: skyblue;
    animation-name: width;
    animation-duration: 2s;
    animation-delay: 1s;
    margin-bottom: 20px;
    padding: 8px;
}
.none {
    animation-fill-mode: none;
}
.forwards {
    animation-fill-mode: forwards;
}
.backwards {
    animation-fill-mode: backwards;
}
.both {
    animation-fill-mode: both;
}
@keyframes width {
    0% {
        width: 100px;
        background-color: pink;
    }
    100% {
        width: 1000px;
    }
}

「animation-fill-mode」を使うと「アニメーション前後でどのスタイルを適用するのか」の指定ができます。

アニメーションが終わった後に「アニメーション終了時点のスタイル」を残すのか、残さないのかだったり、

「アニメーションの待ち時間の間」に「アニメーションのスタート地点のスタイル」を適用するのか、しないのか、の指定ができるプロパティになりますね。

ふむふむ。

アニメーションを設定する要素自体に「animation-fill-mode」の指定をする!

「animation-fill-mode」の指定は、アニメーションをつける要素に対して行えばOKです!

継承はなしなので、「animation-name」の指定がしてある要素に対して直接設定してあげてください。

「アニメーションのスタート地点のスタイル」というのは必ずしも「@keyframes」の「0%」のスタイルという訳ではない。

「アニメーションのスタート地点のスタイル」というのは必ずしも「@keyframes」の「0%」のスタイルという訳ではないです。

それは「animation-direction」の値によって異なるので、注意してください。

「animation-direction」が「reverse」の場合は「@keyframes」の「@keyframes」の「100%地点」がスタートのスタイルとなるので注意してください。

「アニメーションの終了地点のスタイル」は必ずしも「@keyframes」の「100%」のスタイルという訳ではない。

「アニメーションの終了地点のスタイル」は必ずしも「100%」のスタイルという訳ではないので注意してください。

「animation-direction」や「animation-iteration-count」の値によって変わります。

「animation-iteration-count」が「0.5」の場合は「50%地点」でアニメーションが終わりますので、そのスタイルが「アニメーションの終了地点のスタイル」となります。

「animation-fill-mode」に設定できる値は?

「animation-fill-mode」に設定できる値は下記の通りです。

  • none(初期値)
  • forwards
  • backwards
  • both

これらがありますね。

初期値は「none」です。

この動画で実際の挙動とコードの確認ができます。

https://chibasyuta.org/wp-content/uploads/2024/09/demo_new-6.mp4
.box {
    width: 100px;
    height: 100px;
    background-color: skyblue;
    animation-name: width;
    animation-duration: 2s;
    animation-delay: 1s;
    margin-bottom: 20px;
    padding: 8px;
}
.none {
    animation-fill-mode: none;
}
.forwards {
    animation-fill-mode: forwards;
}
.backwards {
    animation-fill-mode: backwards;
}
.both {
    animation-fill-mode: both;
}
@keyframes width {
    0% {
        width: 100px;
        background-color: pink;
    }
    100% {
        width: 1000px;
    }
}
実際のコードとその挙動を確認するのに使ってください!

「none」を使うと?(初期値)

「animation-fill-mode」に「none」を使うと、「アニメーションの実行の前後」で「アニメーションのスタイル」は適用されません。

つまり、「animation-delay」による「待ち時間の間」も「アニメーションのスタート地点のスタイル」は適用されないし、

「アニメーションが終了した後」は「アニメーションの終了地点のスタイル」は残りません。

「forwards」を使うと?

「animation-fill-mode」に「forwards」を使うと、「animation-delay」による「待ち時間の間」は「アニメーションのスタート地点のスタイル」が適用されません。

ですが、「アニメーションが終わった後」も「アニメーションの終了地点のスタイル」が適用され続けます。

「backwards」を使うと?

「animation-fill-mode」に「backwards」を使うと、「animation-delay」による「待ち時間の間」は「アニメーションのスタート地点のスタイル」が適用されます。

ですが、「アニメーションが終わった後」は「アニメーションの終了地点のスタイル」が適用されません。

「both」を使うと?

「animation-fill-mode」に「both」を使うと、「animation-delay」による「待ち時間の間」は「アニメーションのスタート地点のスタイル」が適用されます。

そして、「アニメーションが終わった後」は「アニメーションの終了地点のスタイル」が適用され続けます。

「カンマ区切り」で「複数の値」も書くことができる!

.box {
    animation-name: width, rotate;
    animation-fill-mode: both, forwards;
}

このように「animation-fill-mode」には「カンマ区切り」で「複数の値」を書くことができます。

その場合は、「animation-name」に書かれた順番に対応する形で「animation-fill-mode」の値がそれぞれのアニメーションに対して別々に指定される感じになります。

この辺の挙動は下記の記事で詳しくまとめているので、もし気になる方は下記の記事を読んでみてください!

【CSS】「animation-name」プロパティの使い方!【分かりやすい】

関連記事

参考リンク!

仕様書。
https://drafts.csswg.org/css-animations/#animation-fill-mode

MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/animation-fill-mode

おすすめの再生リスト!

こちらは僕が制作したYouTubeの再生リスト「CSSのアニメーション編」です。

「CSSのアニメーション編」はCSSを使ったアニメーションの知識が網羅的に学習できるコンテンツとなります。

こちらの再生リストでCSSアニメーションについて丁寧に解説しているので、もし気になる方はチェックしてみてください!一緒に楽しく学習しましょう!!

まとめ!

「animation-fill-mode」を使うと「アニメーション前後でどのスタイルを適用するのか」の指定ができる。

アニメーションを設定する要素自体に「animation-play-state」の指定をする!

「アニメーションのスタート地点のスタイル」というのは必ずしも「@keyframes」の「0%」のスタイルという訳ではない。

「アニメーションの終了地点のスタイル」は必ずしも「@keyframes」の「100%」のスタイルという訳ではない。

「animation-fill-mode」に設定できる値は下記の通りです。

  • none(初期値)
  • forwards
  • backwards
  • both

「カンマ区切り」で「複数の値」も書くことができる!

こんな感じですかね!

この記事が気に入った方は僕のTwitter(@chibasyuta)のチェックもお願いします!

また、下の動画でもCSSの「animation-fill-mode」プロパティの使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それではこんな感じでこの記事を終わります!

ではまた!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.