進んでいる実感が、行動を後押しする。CSSボタンデザイン「プログレス」5選

当ページのリンクには広告が含まれています。
CSSボタン プログレスバー ローディング アニメーション フォーム

フォームの送信ボタンを押した後、何も起きない時間が1秒続くだけで「あれ、送れたのかな」と不安になります。その1秒のUXを変えるのが、プログレスバー付きボタンです。送信中・ロード中・アップロード中——「今、処理が進んでいる」という視覚的なフィードバックがあるだけで、ユーザーの不安感がゼロに近づきます。デザインとしての面白さもあって、ボタン内部にバーが広がる・走査線が往復する・縞模様が流れるといった動きは、押した瞬間から目が離せません。

この記事では、CSSだけで作るプログレスバー付きボタンを5パターン紹介します。基本的な左から塗りつぶしからGPU最適化版・グラデーションライン・走査スキャン・縞模様ローダーまで、用途によって使い分けられる構成です。JavaScriptは一切使わず、コピペしてすぐ動くコードをまとめています。

目次

Fill Progress(フィル・プログレス)

ボタン内部が左から右に塗りつぶされる、プログレスバーの最も分かりやすい形です。::after 疑似要素に width: 0 から width: 100% へのアニメーションを設定し、ボタン本体に overflow: hidden を指定することで、バーがボタン内に収まります。塗りが進む速さと最終状態での色変化で「処理が完了した」感を演出できます。

背景をライトグレーにして、バーが青く入ってくるシンプルな配色にしています。問い合わせフォームの送信ボタン・会員登録フォームのボタンなど、日常的なWebフォームに素直に馴染むデザインです。JavaScriptで実際の送信完了をトリガーにして、このアニメーションをクラスの付け外しで制御するパターンとも組み合わせやすい設計になっています。

See the Pen Fill Progress by BaseKENT (@basekent) on CodePen.

調整方法

  • バーの色: background: #3b82f6 を変えます。ブランドカラーのアクセント色を指定すると、フォームのデザインに統一感が出ます
  • 完了までの時間: animation: fillProgress 3s3s を変えます。実際のフォーム送信時間に合わせると体感と動きがズレません
  • 角丸: border-radius: 8px をボタン本体と ::after で揃えることで、バーがはみ出さずに角を追います

Scale Fill(スケール・フィル)

transform: scaleX(0 → 1) でバーを展開する、GPU最適化版の塗りつぶしアニメーションです。width アニメーションと見た目は似ていますが、transform はブラウザがGPUで処理するため、複数のアニメーションが同時に走るページでも60fpsを維持しやすい利点があります。transform-origin: left center を指定することで、左端を起点に右に向かって広がります。

ダーク系の背景に合わせて、#1e293b のダークスレートにインディゴ(#6366f1)のバーが入る配色にしています。SaaSのダッシュボードやWebアプリのUIに馴染む雰囲気です。cubic-bezier(0.4, 0, 0.2, 1) の加速カーブはMaterial Designのstandard easeで、素早く始まってゆっくり終わる自然な動きになっています。

See the Pen Scale Fill by BaseKENT (@basekent) on CodePen.

調整方法

  • 加速カーブ: cubic-bezier(0.4, 0, 0.2, 1)linear にすると機械的な一定速度に、ease-in にすると最後に一気に終わる演出になります
  • バーの色: background: #6366f1 を変えます。ダーク背景では彩度が高めの色のほうが見やすくなります
  • 起点の変更: transform-origin: left centerright center にすると、右から左に向かって広がる逆方向になります

Gradient Bar(グラデーション・バー)

ボタン下部に3色グラデーションのラインが引かれるパターンです。::before 疑似要素を高さ 3px で設置し、background: linear-gradient(90deg, #3b82f6, #a855f7, #ec4899) の3色グラデーションを塗りながら width が伸びていきます。塗りつぶし系と違い、ボタン本体の色はそのままでラインだけが動くため、派手さと上品さのバランスが取れた演出になります。

ダーク背景のサービス紹介ページや、クリエイター向けポートフォリオサイトとの相性が特に良いパターンです。グラデーションに使う色の組み合わせを変えれば、サイトのトーンに合わせた印象になります。ボタン下部にラインが走る動きは、テキストのアンダーラインアニメーションの発展系として捉えることもでき、「進捗表示」以外にも「ホバー時にラインが引かれる」インタラクションとしても使えます。

See the Pen Gradient Bar by BaseKENT (@basekent) on CodePen.

調整方法

  • ラインの太さ: height: 3px を変えます。5px にするとより主張が強くなり、2px にすると繊細な印象になります
  • グラデーション: #3b82f6, #a855f7, #ec4899 の3色を変えます。2色にするとスッキリし、4色以上にすると虹のようなカラフルさになります
  • 位置の変更: bottom: 0top: 0 にするとボタン上部にラインが引かれます

Indeterminate Scan(インデタミネート・スキャン)

光の走査線がボタン内を左から右に通り抜け続けるパターンです。translateX(-60% → 110%) のループアニメーションで、光の帯がボタン外から入って外へ抜けていく動きを作っています。「処理時間が未確定のとき」——例えばAPIレスポンスを待っている間、ファイル変換中、アップロード先のサーバーとやりとりしている間——に使うと意味が合致します。

repeating-linear-gradient を使わず、幅50%の帯に透明なフェードをかけた光の演出です。左端・中央・右端を透明→色→透明のグラデーションにすることで、帯の縁がなめらかに滑ります。ダーク背景にエメラルドグリーン(rgba(16, 185, 129, 0.4))の光を設定しているので、「処理中」のシステム的な雰囲気が出ます。

See the Pen Indeterminate Scan by BaseKENT (@basekent) on CodePen.

調整方法

  • 速度: animation: indeterminateScan 1.6s を短くするほどテキパキとした印象に、長くするとゆっくりスキャンする雰囲気になります。1s 以下にするとかなりせわしない印象になります
  • 光の幅: width: 50%30% にすると細い光線になり、70% にすると広い面積が光ります
  • 光の色: rgba(16, 185, 129, 0.4) の色部分を変えます。透明度(最後の 0.4)を上げると光が強くなります

Striped Loader(ストライプド・ローダー)

斜め縞模様がボタン内を流れ続けるパターンです。repeating-linear-gradient(-45deg, ...) で斜めストライプを作り、background-position のアニメーションでその模様を流します。工事現場の警告テープやDTM・動画編集ソフトの処理中バーでよく見かける、「作業中」「処理中」のビジュアル言語をCSSで再現しています。

アンバー(#f59e0b)のボタンに白いストライプが流れる組み合わせは、視認性が高く「何かが動いている」と即座に伝わります。ファイルアップロードのプログレス・一括処理の実行中・バッチ操作の待機画面など、「明らかに時間がかかる処理」に使うとユーザーへのフィードバックとして機能します。縞模様のピッチ・角度・色を変えると印象が大きく変わるので、サイトのトーンに合わせた調整の余地が広い点も使いやすさのひとつです。

See the Pen Striped Loader by BaseKENT (@basekent) on CodePen.

調整方法

  • 縞の間隔: transparent 8px, rgba(255,255,255,0.2) 8px, rgba(255,255,255,0.2) 16px の数値を変えます。8px → 4px16px → 8px のように比率を保ったまま小さくすると細かい縞になります
  • 流れる速さ: animation: stripedLoader 1s linear1s を短くすると縞が速く流れます。0.5s でかなり高速に、2s でゆっくり流れます
  • 縞の角度: -45deg45deg に変えると縞の傾き方向が変わります。-60deg にするとより急な斜め、-30deg にするとゆるやかな傾きになります

Unlock Your Creativity

今回紹介したCSSカスタマイズは、ほんの一例に過ぎません。 Webデザインの可能性は、コードひとつで無限に広がります。

Ex-TORANOMAKIには、あなたのサイトを「他とは違う」存在にするためのCSSテクニックを多数紹介しています。 ありきたりなデザインでは満足できないなら、ぜひ他のカスタマイズもチェックしてみてください。

A created this document

実務で使える「動きのあるWebデザイン」をテーマに、コピペで実装できるCSSアニメーションやコードスニペットを発信中。
また、制作環境をアップデートするガジェットやデスク周りのツールもレビューしています。
効率と心地よさを追求するクリエイターのための情報をアーカイブします。

目次