CSS プロパティ animation-iteration-count

CSS animation-iteration-count プロパティ: アニメーションの繰り返し回数を制御する

このページでは、CSSの`animation-iteration-count`プロパティについて詳しく解説します。このプロパティを使用すると、アニメーションの再生回数を制御し、無限ループも実現できます。詳細な説明、サンプルコード、一般的な使用例などを紹介します。

目次

  1. animation-iteration-count プロパティとは?
  2. 構文と値
  3. コード例
  4. 実際の適用例
  5. ブラウザの互換性
  6. よくある質問

animation-iteration-count プロパティとは?

`animation-iteration-count`プロパティは、CSSアニメーションが何回ループするかを定義します。値として数値または`infinite`キーワードを受け入れます。

  • 数値は、アニメーションのループ回数を表します。
  • `infinite`は、アニメーションが無限にループすることを表します。

構文と値

`animation-iteration-count` の構文は次のとおりです。


animation-iteration-count: <number> | infinite;
  • <number> は正の整数を表します。
  • infinite は無限ループを表します。

コード例

例1:四角形のアニメーションを3回実行する


<div class="box"></div>
<style>
.box {
  width: 100px;
  height: 100px;
  background-color: red;
  animation: move 2s linear forwards;
  animation-iteration-count: 3;
}

@keyframes move {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(200px);
  }
}
</style>

CodePenで確認する

例2:無限に回転するアニメーションを作成する


<div class="spinner"></div>
<style>
.spinner {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(to right, red, yellow);
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
</style>

CodePenで確認する

実際の適用例

  • 点滅効果の作成: `animation-iteration-count`を無限に設定すると、要素を点滅させるアニメーションを作成できます。これは、通知ランプや通知アイコンなどに使用できます。
  • 読み込みアニメーションの制御: `animation-iteration-count`を1に設定すると、読み込みアニメーションを1回だけ再生できます。
  • 複雑なアニメーションシーケンスの作成: `animation-delay`と`animation-iteration-count`を組み合わせることで、複雑なアニメーションシーケンスを作成できます。たとえば、テキストを1文字ずつ表示する効果などです。

ブラウザの互換性

`animation-iteration-count`プロパティは、優れたブラウザ互換性を備えており、ほぼすべてのモダンブラウザでサポートされています。

ブラウザ バージョン
Chrome 4+
Firefox 5+
Safari 4+
Opera 12+
Internet Explorer 10+
Edge 12+

より詳細なブラウザ互換性については、Can I use を参照してください。

まとめ

`animation-iteration-count`は、アニメーションのループ回数を簡単に制御できる強力なCSSプロパティです。このプロパティを柔軟に使用することで、さまざまな生き生きとしたアニメーション効果を作成できます。

よくある質問

Q1: animation-iteration-count を小数点以下の値に設定できますか?

いいえ、`animation-iteration-count` は正の整数値または `infinite` キーワードのみを受け付けます。小数点以下の値を設定すると、切り捨てられます。

Q2: animation-iteration-count と animation-delay を一緒に使用するにはどうすればよいですか?

`animation-delay` はアニメーションの開始を遅らせるために使用し、`animation-iteration-count` は繰り返しの回数を制御します。これらのプロパティを組み合わせて、より複雑なアニメーションシーケンスを作成できます。

Q3: 特定の回数だけアニメーションを繰り返した後、アニメーションを停止するにはどうすればよいですか?

特定の回数だけアニメーションを繰り返した後、アニメーションを停止するには、`animation-fill-mode` プロパティを `forwards` に設定します。これにより、アニメーションの最後のフレームが保持されます。