
CodePenで公開されている、CSSやJavaScriptで作られたローディングアニメーション(ローディングスピナー)のアイデアを12個セレクトしました。シンプルな回転スピナーやドットのパルス表現から、SVGパスをアニメーションさせた凝ったモーション、3D文字を使ったユニークな表現まで、幅広いバリエーションを集めています。各スニペットには実装のポイントも添えているので、どんな仕組みで動いているのか、どこを見ればカスタマイズできるのかが把握しやすくなっています。気になるデザインが見つかったら、実際のサイト制作の参考にしてみてください。
ローディングアニメーションのアイデア
SVG Loading icons
SVGを使用した8種類のローディングアイコンのアイデア
See the Pen SVG Loading icons by Aurer (@aurer) on CodePen.
- Author : Aurer
- Link : CodePen – Demo
💡 実装のポイント
8種類とも<animateTransform>や<animate>といったSVG標準のアニメーション要素(SMIL)で動いており、CSSのkeyframesもJSも使っていない構成。色はsvg path, svg rect { fill: #FF6700; }の1行で全パターン一括変更できる。クラスは.loader--style1〜.loader--style8で完全に独立しているので、好きな番号のブロックだけ抜き出せば単体でも使える。
CSS Loading Animations
グラデーションやソーラーシステム風など7種類のスピナーのアイデア
See the Pen CSS Loading Animations by Alex (@AlexWarnes) on CodePen.
- Author : Alex
- Link : CodePen – Demo
💡 実装のポイント
プリプロセッサ不使用のプレーンCSSのみで構成され、JSも不要。spin・spin3D・pulseなど@keyframesごとに役割が分かれており、.circle-borderや.blue-orbitといったクラスもパターンごとに独立しているので1つだけ抜き出しやすい。色はグラデーションのrgba()値を変更するだけで着せ替え可能。
CSS Loading Spinners
12種類のスピナーがまとまったアイデア集
See the Pen CSS Loading Spinners by Harold Soto (@bernethe) on CodePen.
- Author : Harold Soto
- Link : CodePen – Demo
💡 実装のポイント
Pug+SCSSで書かれており、SCSS変数$spCol(色)を1つ変更するだけで12パターン全部に反映される設計。.sp-circle〜.sp-hydrogenのクラスごとに独立しているので、気に入った1個だけ抜き出して使うことも可能。ただしrgba($spCol, ...)などSCSS関数を使っているため、そのままではCSSとして動かず「View Compiled CSS」でコンパイル後のコードを書き出す必要がある。
Loading Animations Gallery – 24 CSS + SVG Patterns (Global Controls)
サイズ・速度・色を一括調整できる24種類のローディングアイデア集
See the Pen Loading Animations Gallery – 24 CSS + SVG Patterns (Global Controls) by Ashish Ranjan (@ash1198) on CodePen.
- Author : Ashish Ranjan
- Link : CodePen – Demo
💡 実装のポイント
スピナー・ドット・バー・SVGリング・スケルトンなど24種類がCSSカスタムプロパティ(--size・--speed・--accent)で一括管理されており、JSのスライダーで全パターンのサイズ・速度・色を同時に変更できる仕組み。prefers-reduced-motionへの配慮やポーズ機能(body[data-paused])も用意されている。「∞」型のSVGパスだけはCSSでなくgetTotalLength()とrequestAnimationFrameを使ったJS駆動のアニメーションになっている点に注意。
Wavy Loading Animations
波状に動く11種類のバー・ドットローディングのアイデア
See the Pen Wavy Loading Animations by Kyle Brumm (@kjbrum) on CodePen.
- Author : Kyle Brumm
- Link : CodePen – Demo
💡 実装のポイント
SCSSのrandom-color()関数で毎回ランダムな配色を生成する仕組みになっており、コンパイルするたびに色味が変わる。固定の配色にしたい場合は各.shaft-loadブロック内のrandom-color()呼び出しを固定の16進カラーに置き換える必要がある。.shaft1〜.shaft10へのanimation-delayのずらし方でバーごとの波打つタイミングを調整している。
SpinKit
定番ライブラリ「SpinKit」由来の11種類のスピナー集
See the Pen SpinKit by Nicola Pressi (@ibanez182) on CodePen.
- Author : Nicola Pressi
- Link : CodePen – Demo
💡 実装のポイント
オープンソースの定番スピナー集「SpinKit」を元にしたPen。Haml+SCSSで書かれており、$spinkit-size(サイズ)と$spinkit-spinner-color(色)の2つのSCSS変数だけで11パターン全部を一括調整できる設計になっている。折り紙のように面が回転する.sk-folding-cubeなど、単体でも使い出のあるパターンが揃っている。
Pure CSS Spinners
「Loading…」テキストで代替表示される15種類のスロバー集
See the Pen Pure CSS Spinners by John W. Long (@jlong) on CodePen.
- Author : John W. Long
- Link : CodePen – Demo
💡 実装のポイント
各スピナーは<span class="◯◯-loader">Loading…</span>という1要素のみのシンプルな構造で、対応していない古いブラウザではテキストの「Loading…」がそのまま表示されるフォールバック仕様。実際のアニメーションCSSはPen内にはなく外部リンクのcss-spinners.cssから読み込まれているため、使う際はリンク先のGitHubリポジトリから該当CSSを別途取得する必要がある。
Loading Animations
ホバーで再生される9種類のローディングのアイデア
See the Pen Loading Animations by Filipe Kiss (@filipekiss) on CodePen.
- Author : Filipe Kiss
- Link : CodePen – Demo
💡 実装のポイント
Sassで書かれており、デフォルトではanimation-play-state: pausedになっていて:hover時のみrunningに切り替わる仕様(このPenではマウスホバーで確認する体験設計)。実制作で常時再生させたい場合は、この:hoverによる切り替え部分を削除すればよい。バブル・スポーク・スライドなど9種類が独立したクラスで分かれている。
Text Ring Loading Animation
文字が円を描いて回転する2重リングのローディングアイデア
See the Pen Text Ring Loading Animation by Jon Kantner (@jkantner) on CodePen.
- Author : Jon Kantner
- Link : CodePen – Demo
💡 実装のポイント
Pugで「Loading…」の1文字ずつを.preloader__sectorとして自動生成し、rotateY()とtranslateZ()を組み合わせて円周上に配置している構成。perspectiveとtransform-style: preserve-3dを使ったCSS 3D表現で、アイコン系スピナーとは違う「テキストが立体的に回る」ユニークな見せ方ができる。
SVG Loading Circle Animation
円弧が伸び縮みするSVGサークルのローディングアイデア
See the Pen SVG Loading Circle Animation by Aleksander K (@aleksander351) on CodePen.
- Author : Aleksander K
- Link : CodePen – Demo
💡 実装のポイント
SVGの<circle>全体を回すrotateアニメーションと、stroke-dasharray/stroke-dashoffsetを変化させて円弧の長さを伸縮させるアニメーションを組み合わせた、よく見る「成長する円弧」スピナーの実装例。色はstroke="#70c542"の属性値と、keyframes内のstroke指定を両方変更する必要がある。
Another Loading Animation
花びら状に8つのパーツが回転するローディングアイデア
See the Pen Another Loading Animation by Robert Douglas (@redouglas) on CodePen.
- Author : Robert Douglas
- Link : CodePen – Demo
💡 実装のポイント
Pug+Stylusで書かれており、8つの.side要素をStylusのsin()/cos()関数で三角関数計算しながら円周上に配置している点が特徴的。JSを使わずプリプロセッサの数式だけで放射状レイアウトを組んでおり、各要素はrotate0〜rotate135の4種のkeyframesを共有しつつ、全体を包む親要素がゆっくり回転する2層構造になっている。
Loading Animation
6本のバーが弾むイコライザー風のローディングアイデア
See the Pen Loading Animation by John Heiner (@johnheiner) on CodePen.
- Author : John Heiner
- Link : CodePen – Demo
💡 実装のポイント.bar1〜.bar6それぞれに個別のbackground-colorとマイナス値のanimation-delayを設定し、共通のscaleYkeyframesをずらして再生することでイコライザーのような弾む動きを表現している。バーごとに色が独立しているので、部分的な着せ替えがしやすいシンプルな構成。
ローディングアニメーションとは?
ローディングアニメーションとは、ページの読み込みやデータの取得、処理の実行中など、ユーザーが「待つ」必要がある場面で表示されるアニメーションのことです。スピナーやプログレスインジケーターとも呼ばれ、回転する円やドット、バーなどのモーションで表現されるのが一般的です。
単なる待機時間の演出にとどまらず、「処理が正常に進行している」ことをユーザーに伝える役割も担っています。何も表示されないまま数秒待たされると、ユーザーは不安になったり、サイトが固まったと誤解したりしがちですが、適切なローディングアニメーションがあることで、ストレスの少ない体験を提供できます。
CodePenとは?
CodePenは、HTML、CSS、JavaScriptを使ってウェブページのプロトタイプや実装を行うことができるオンラインの開発環境です。
CodePenでは、ウェブ開発者やデザイナーが、ブラウザ上でコードを書きながら、すばやく試行錯誤することができます。ユーザーは自分のプロジェクトを公開し、他のユーザーによるフィードバックを受けたり、共有することもできます。
CodePenには、エディター機能が搭載されており、HTML、CSS、JavaScriptのコードを入力することができます。また、ユーザーが公開したプロジェクトは、フロントエンドの技術を利用して動的な表現やアニメーションを作ることができます。
よくある質問
-
SCSSやPugで書かれているコードはそのまま使えますか?
そのままでは動作しません。SCSSやPugはコンパイルが必要なため、対応するビルド環境がない場合はCodePen上の「View Compiled CSS」「View Compiled HTML」から通常のCSS・HTMLを書き出して使用してください。
-
ローディングアニメーションはアクセシビリティ的に問題ありませんか?
常に動き続けるアニメーションのため、めまいや乗り物酔いに似た症状を引き起こす人もいます。
prefers-reduced-motionメディアクエリで、OS側の「視差効果を減らす」設定が有効な場合はアニメーションを簡略化・停止する対応をおすすめします。 -
SpinKitのようなライブラリを使うのと、自分でCSSを書くのはどちらがいいですか?
複数パターンを素早く試したい場合はSpinKitのようなライブラリが便利ですが、ファイルサイズや依存関係を最小限にしたい場合は必要なパターンのCSSだけを自分のプロジェクトにコピーする方が軽量になります。用途に応じて使い分けるのがおすすめです。