CSS Academy · レッスン

アニメーションの方向・フィルモード・反復

アニメーションの再生方向、ループ回数、fill-modeによる最終状態を制御します。

レッスン 2/413 ステップ

「アニメーションの方向・フィルモード・反復」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。

animation-iteration-count

アニメーションを繰り返す回数を制御します。連続してループさせるにはinfiniteを使います。

<div class="spinner"></div>
<div class="pulse"></div>

animation-direction

交互に繰り返すサイクルでの再生方向を制御します。

  • normal — 各反復を順方向に再生します
  • reverse — 逆方向に再生します
  • alternate — 順方向と逆方向を交互に再生します
  • alternate-reverse — 逆方向と順方向を交互に再生します
<div class="bounce"></div>

animation-fill-mode

アニメーションの開始前と終了後に、要素をどう扱うかを定義します。

  • none — デフォルト値で、元の状態に戻ります
  • forwards — 完了後も最後のキーフレームを保持します
  • backwards — 遅延中に最初のキーフレームを適用します
  • both — backwardsとforwardsの両方を適用します

forwardsフィルモード

最も一般的な用途は、アニメーションの完了後も要素をアニメーション後の最終状態に保つことです。

<p class="item">I fade in and stay visible</p>

backwardsフィルモード

遅延がある場合、backwardsを指定すると、遅延中から要素が最初のキーフレームの状態になります。これにより、アニメーション開始前に元の状態が一瞬表示されるのを防げます。

<p class="item">Starts invisible during the delay</p>

bothフィルモード

bothはforwardsとbackwardsを組み合わせたものです。アニメーションの前後で要素が一瞬表示されるのを防ぎたい場合に、最も予測しやすい選択肢です。

animation-delay

アニメーションの開始を遅らせます。負の遅延を指定すると、アニメーションを途中から開始できます。複数のアニメーションの同期に便利です。

<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>

段階的なアニメーションパターン

nth-childの遅延を使ったCSSだけの段階的なアニメーションです。

<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>

一時停止と再開

animation-play-stateを変更することで、JavaScriptからアニメーションの状態を切り替えます。

<div class="spinner" id="js-spinner"></div>
<button onclick="const s=document.getElementById('js-spinner').style; s.animationPlayState = s.animationPlayState === 'paused' ? 'running' : 'paused';">Pause / Resume</button>

アニメーションのリセット

CSSアニメーションを再生し直すには、クラスを削除してから再度追加します。ブラウザーは、削除と追加の間に強制的なリフローを発生させるというテクニックを適用します。

<div class="box" id="reset-box"></div>
<button onclick="const el=document.getElementById('reset-box'); el.classList.remove('animate'); void el.offsetWidth; el.classList.add('animate');">Replay Animation</button>

負のanimation-delay

負の遅延を使うと、アニメーションを再生途中から開始できます。同期した背景パターンや、すでに動いているように見せたいループ要素に便利です。

<div class="star"></div>
<div class="star"></div>
<div class="star"></div>

クイックチェック

アニメーション終了後も要素を最後のキーフレームの状態に保つanimation-fill-modeの値はどれですか。

振り返り

animation-iteration-count: infiniteはアニメーションを無限に繰り返します。animation-direction: alternateは往復するように再生します。animation-fill-mode: forwardsは最終状態を保持します。animation-fill-mode: bothは最も安全な選択肢です。同期したアニメーションの開始位置をずらすには、負の遅延を使ってください。

無料で開始

AI チューターと学ぶ CSS — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
40
レッスン
159

よくある質問

「アニメーションの方向・フィルモード・反復」レッスンは無料ですか?

はい。「アニメーションの方向・フィルモード・反復」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。

「アニメーションの方向・フィルモード・反復」で何を学びますか?

アニメーションの再生方向、ループ回数、fill-modeによる最終状態を制御します。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

CSS Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「アニメーションの方向・フィルモード・反復」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCSS Academyレッスンでコードを書いて実行できますか?

はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. @keyframesの構文とanimationプロパティ
  2. アニメーションの方向・フィルモード・反復
  3. アニメーションの連結とシーケンス化
  4. prefers-reduced-motionに対応したアクセシブルなアニメーション
← CSS Academyに戻る