ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
animation-iteration-count とは
animation-iteration-count は、CSS の @keyframes アニメーションを何回繰り返すかを指定するプロパティです。値を infinite にすると永続ループ、整数なら指定回数で停止します。
基本構文
.spinner {
animation-name: rotate;
animation-duration: 1s;
animation-iteration-count: infinite; /* 無限ループ */
animation-timing-function: linear;
}
@keyframes rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
取れる値
| 値 | 意味 |
|---|---|
1(初期値) | 1 回だけ実行して停止 |
3 | 3 回繰り返して停止 |
infinite | 無限ループ |
2.5 | 2 回 + 半分で停止(途中停止) |
0 | 実行されない |
inherit / initial / unset | CSS 共通キーワード |
注: 負の値は無効。小数を指定するとキーフレームの途中で停止するため、終端と途中の見た目が違うと中途半端な状態で固まる点に注意。
複数アニメーションに個別指定
カンマ区切りで複数のアニメーションを動かす際は、animation-iteration-count もカンマ区切りで個別指定できます。
.combo {
animation-name: rotate, fade;
animation-duration: 2s, 1s;
animation-iteration-count: infinite, 3; /* rotate=無限 / fade=3回 */
}
animation ショートハンドでの記述
/* duration / timing / delay / iteration-count / direction / fill-mode / play-state / name */
.spinner {
animation: 1s linear 0s infinite normal none running rotate;
}
/* 必要最小限の書き方 */
.spinner-min {
animation: rotate 1s linear infinite;
}
関連プロパティ
| プロパティ | 役割 |
|---|---|
animation-name | @keyframes 名 |
animation-duration | 1 周期の時間 |
animation-delay | 開始遅延 |
animation-timing-function | イージング(ease / linear / cubic-bezier(...)) |
animation-direction | 方向(normal / reverse / alternate) |
animation-fill-mode | 終了後の状態(forwards / backwards) |
animation-play-state | running / paused |
典型例:ローディングスピナー
.loader {
width: 32px; height: 32px;
border: 4px solid #eee;
border-top-color: #3498db;
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
典型例:3 回だけバウンドして停止
.bounce {
animation: bounce 0.5s ease-in-out 3 alternate forwards;
}
@keyframes bounce {
from { transform: translateY(0); }
to { transform: translateY(-20px); }
}
3 alternate で上下を 3 回、forwards で最終位置に固定。
animation-direction との組み合わせ
繰り返し回数は animation-direction と組み合わせると挙動が大きく変わります。同じキーフレームでも「1 往復で 2 回」とカウントされる点に注意してください。
| direction | count=2 の挙動 |
|---|---|
normal(既定) | 0→100% を 2 回 |
reverse | 100→0% を 2 回 |
alternate | 0→100% → 100→0%(1 往復で完了) |
alternate-reverse | 100→0% → 0→100%(1 往復で完了) |
animation-fill-mode との関係
有限の繰り返し回数を指定すると、アニメーション終了後の状態が問題になります。デフォルトでは開始前の状態に戻りますが、animation-fill-mode: forwards を指定すれば最終フレームの状態を保持できます。ローディングが完了して結果に切り替わるような UI では forwards がほぼ必須です。
アクセシビリティ:prefers-reduced-motion
無限ループのアニメーションは、めまいや前庭障害のあるユーザーに負担になります。OS の「視差効果を減らす」設定を尊重して、必要な場合だけアニメーションを止めましょう。
@media (prefers-reduced-motion: reduce) {
.spinner {
animation-iteration-count: 1; /* 1 回で止める */
}
}
JavaScript で動的に変更
const el = document.querySelector('.spinner');
// 一時停止
el.style.animationPlayState = 'paused';
// 繰り返し回数を動的に変更
el.style.animationIterationCount = 'infinite';
// アニメーション終了イベント(infinite では発火しない)
el.addEventListener('animationend', () => console.log('done'));
まとめ
animation-iteration-countはアニメーションの繰り返し回数- 値は整数 / infinite / 小数。初期値は
1 - カンマ区切りで複数アニメーションに個別指定
- ショートハンド
animationにも含められる - アクセシビリティ配慮で
prefers-reduced-motionを尊重
関連
- @keyframes — アニメーションのフレーム定義
- animation-duration プロパティ — 1 周期の長さ
- animation-timing-function プロパティ — イージング
- animation-direction プロパティ — 再生方向
- animation ショートハンド — 一括指定
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Spring Framework 記事一覧31件|DI・設定・例外の対処 2026-09-07 07:45:13
- Laravel 記事一覧55件|環境構築・ルーティング・DB・エラー対処 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Javaの定数 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- hostnameコマンドの使い方|Windows・Linux・macOSでホスト名確認 2026-09-07 07:45:13
- NetBeansでTomcatを起動する手順|サーバ登録・ポート・トラブル対処 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Oracle DROP USERでユーザー削除|CASCADE・接続中ユーザーの対処 2026-09-07 07:45:13
- SQLとは|DDL・DMLとリレーショナルデータベース操作の基本 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?