CSSループ処理徹底解説!作り方・使い方・応用方法から実践サンプルコードまで初心者にも分かりやすく解説

CSSループ処理の基本概念と実践サンプルコードを示すイメージCSS
この記事は約5分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

こんにちは!

この記事では、CSSループ処理の作り方、使い方、応用方法について初心者向けに徹底解説します。

サンプルコードも豊富に紹介しているので、ぜひ参考にしてくださいね。

●CSSループ処理とは?

まずはじめに、CSSループ処理とは何かを簡単に説明しましょう。

CSSループ処理とは、CSSを使って繰り返し動作を行うアニメーション処理のことです。

主に無限ループアニメーションや一定間隔での繰り返し動作を実現するために利用されます。

CSSループ処理は、主に次の2つの方法があります。

  1. CSSアニメーションを使った方法
  2. CSS変数とカスタムプロパティを使った方法

それぞれの方法について、詳しく解説していきます。

●CSSアニメーションを使った方法

CSSアニメーションは、繰り返し動作を行うアニメーションを作成するために利用できます。

基本的な構文は次のようになります。

@keyframes アニメーション名 {
  0% { /* 開始状態 */ }
  100% { /* 終了状態 */ }
}

対象要素 {
  animation: アニメーション名 動作時間 繰り返し回数;
}

例えば、以下のサンプルコードでは、div要素が右に移動するアニメーションを作成し、無限に繰り返すループ処理を実現しています。

@keyframes moveRight {
  0% { transform: translateX(0); }
  100% { transform: translateX(100px); }
}

div {
  animation: moveRight 2s infinite;
}

ここで@keyframesはアニメーションのキーフレームを定義するためのルールで、アニメーション名を指定しています。

0%と100%は、アニメーションの開始状態と終了状態を表しており、transformプロパティを使って要素の位置を変更しています。

div要素に対してanimationプロパティを設定して、アニメーション名、動作時間、繰り返し回数を指定します。

infiniteというキーワードを使って無限ループを実現しています。

●CSS変数とカスタムプロパティを使った方法

CSS変数とカスタムプロパティを使ったループ処理は、より高度な繰り返し処理を実現するために利用されます。

例えば、要素の数や状態に応じて異なるループ処理を行いたい場合などです。

CSS変数とカスタムプロパティを使ったループ処理のサンプルコードです。

:root {
  --loop-count: 3;
}

@keyframes moveRight {
  0% { transform: translateX(0); }
  100% { transform: translateX(100px); }
}

div {
  animation: moveRight 2s var(--loop-count);
}

まず、:rootセレクタでループ回数を定義するカスタムプロパティ--loop-countを設定します。

この例では、3回繰り返すループ処理を作成しています。

次に、div要素に対してanimationプロパティを設定し、var()関数を使ってカスタムプロパティの値を取得します。

これにより、ループ回数を動的に変更することができます。

●応用例1:要素の色を順番に変更するループ処理

CSSループ処理を応用して、要素の色を順番に変更するアニメーションを作成してみましょう。

@keyframes changeColor {
  0% { background-color: red; }
  33% { background-color: green; }
  66% { background-color: blue; }
  100% { background-color: red; }
}

div {
  animation: changeColor 4s infinite;
}

このサンプルコードでは、@keyframesルールでchangeColorというアニメーションを定義しています。

キーフレームでは、0%で赤色、33%で緑色、66%で青色に背景色を変更し、100%で再び赤色に戻ります。

これにより、順番に色が変わるアニメーションが作成されます。

div要素に対してanimationプロパティを設定し、アニメーション名、動作時間、繰り返し回数を指定します。

infiniteを使って無限ループにしています。

●応用例2:テキストを点滅させるループ処理

CSSループ処理を応用して、テキストを点滅させるアニメーションを作成してみましょう。

@keyframes blinkText {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}

p {
  animation: blinkText 1s infinite;
}

このサンプルコードでは、@keyframesルールでblinkTextというアニメーションを定義しています。

キーフレームでは、0%で不透明度が1(完全に表示)、50%で不透明度が0(完全に透明)、100%で再び不透明度が1になるように設定しています。

これにより、テキストが点滅するアニメーションが作成されます。

p要素に対してanimationプロパティを設定し、アニメーション名、動作時間、繰り返し回数を指定します。

infiniteを使って無限ループにしています。

まとめ

これで、CSSループ処理の作り方、使い方、応用方法を初心者向けに徹底解説しました。

実践的なサンプルコードも多数紹介しているので、ぜひ参考にしてくださいね。

CSSアニメーションの世界は広がりがあり、色々な表現が可能です。

ぜひ、この記事をきっかけに、さらに深く学んでみてください!