3 ステップ進捗インジケータ

UI コンポーネント Medium #css #stepper #progress #form

このスニペットは、入力・確認・完了といったフォームの進み具合を示す 3 段階のステップインジケータです。マークアップは nav の中の ol で意味づけし、各 li に番号の丸とラベルを置いています。

▶ プレビュー

解説

このスニペットは、入力・確認・完了といったフォームの進み具合を示す 3 段階のステップインジケータです。マークアップは nav の中の ol で意味づけし、各 li に番号の丸とラベルを置いています。完了した段階には is-done、現在の段階には is-act というクラスを付けるだけで色が切り替わる設計で、ステップをつなぐ横線は ol::before の疑似要素で引いています。

使う場面

  • 会員登録や購入手続きなど、複数画面にまたがるフォーム
  • 申し込みウィザードで、今どこにいるかを示したいとき
  • オンボーディングの進行表示

状態の切り替えはクラスの付け外しだけなので、サーバー側でも JavaScript でも制御できます。ステップ数を増やすときは li を足し、横線の leftright の余白値を見直してください。アクセシビリティ面では、navaria-label を付けてあり、現在地を明確にするため aria-current を現在のステップに追加するとさらに読み上げに親切です。色は丸の背景色を変えるだけでブランドに合わせられます。

よくある質問

ステップ数を 4 つ以上にできますか
できます。li 要素を必要な数だけ追加してください。要素を flex で均等配置しているため自動で広がりますが、ステップをつなぐ横線の左右の余白だけ、数に合わせて微調整すると見栄えが整います。
現在のステップの色を変えたいときは
is-act クラスが付いた要素の番号の丸の背景色を変更してください。完了済みは is-done のスタイルで色分けしているので、両方を調整するとブランドカラーに揃えられます。
inspired by daily batch #3 — modern CSS / 追加日:2026-05-14
← すべてのスニペットへ戻る