ピル型 ON/OFF トグル(ラベル付き)

UI コンポーネント Easy #css #toggle #switch #setting

これは「公開/下書き/非公開」のように複数の選択肢をラベル付きで切り替える、ピル型のトグルです。中身はラジオボタン( input type="radio" )で、実際の input は opacity:0 で隠し、隣の span を見た目として使っています。

▶ プレビュー

解説

これは「公開/下書き/非公開」のように複数の選択肢をラベル付きで切り替える、ピル型のトグルです。中身はラジオボタン(input type="radio")で、実際の inputopacity:0 で隠し、隣の span を見た目として使っています。選択中の項目は input:checked+span のセレクタで白背景と影が付き、現在の状態がひと目で分かります。CSS のみで動作し、JavaScript は不要です。

向いている用途

  • 記事やコンテンツの公開ステータスの切り替え
  • 設定画面でのモードや表示範囲の選択
  • 並び替えや表示形式など、排他的な選択肢の切り替え

選択肢は label ごと複製して増減でき、文言も自由に変えられます。アクティブ時の色は input:checked+span で調整します。中身がラジオボタンなので、キーボードの矢印キーで選択を移動でき、フォーム送信時にもそのまま値として送れるのが利点です。各 inputvalue を付け、グループを fieldsetlegend で囲むと、何の設定かが補助技術にも伝わりやすくなります。

使用例・適したシーン

  • 設定 UI
  • 通知 ON/OFF
  • ダークモード切替

よくある質問

選択肢の数は変えられますか?
はい。label のまとまりを複製または削除するだけで増減できます。中の span のテキストを書き換えれば「ON/OFF」など好きなラベルにできます。
フォーム送信に使えますか?
使えます。中身は同じ name のラジオボタンなので、各 input に value を設定すれば選択された値がそのままフォームで送信されます。JavaScript は不要です。
追加日:2026-05-12
← すべてのスニペットへ戻る