
初心者向けにHTMLの「チェックボックス」の基本から、:checked疑似クラスの使い方、for属性を使った便利な設定方法まで解説。利用規約やメール配信設定など実例付きでわかりやすく説明します。
HTMLのフォームでよく使われる「チェックボックス」。
「利用規約に同意します」「メールを受け取る・受け取らない」など、選択の有無をユーザーに委ねるときに欠かせないパーツです。この記事では、チェックボックスの基本的な使い方から、CSSの:checked疑似クラスでデザインを変える方法、さらにfor属性を使ってクリックしやすくする実装まで、初心者向けにわかりやすく解説します。
チェックボックスとは
「はい・いいえ」を選ぶときのチェックボックス
チェックボックスは、ユーザーに「はい・いいえ」「する・しない」など、二択の選択肢を与える操作パーツです。
例えば「利用規約に同意しますか?」という場面で使われることが多く、チェックが入ることで「はい」と見なされます。
ラジオボタンとの違い
ラジオボタンは複数の選択肢から 1つだけ選べる 操作パーツです。
一方、チェックボックスは 複数同時に選べる のが特徴。
たとえば「好きなフルーツを選んでください」なら、りんご・みかん・ぶどうをすべて選択することができます。
チェックボックスの基本的な書き方(input type=”checkbox”)
利用規約に同意する例
もっともよく見かけるのが「利用規約に同意する」というチェックボックスです。
See the Pen Untitled by VA-Rie (@VA-Rie) on CodePen.
ここで label
に for
属性を付けておくと、文字をクリックしてもチェックが入ります。
メール受信の選択例
会員登録フォームで「お知らせメールを受け取りますか?」という確認も、チェックボックスで実現できます。
See the Pen Untitled by VA-Rie (@VA-Rie) on CodePen.
ユーザーが任意で選択できるようにする場面に便利です。
複数の選択肢を選ぶ例
チェックボックスは、複数の選択肢をまとめて提示することも可能です。
See the Pen Untitled by VA-Rie (@VA-Rie) on CodePen.
このようにラジオボタンと違い、同時に複数チェックできるのが強みです。
for属性を使ってクリックしやすくする方法
labelタグとfor属性の役割
チェックボックスは小さく、スマホではタップしづらいことがあります。
そのため、<label>
タグを使い、for="id名"
で対応する <input>
と関連づけておくと、文字をクリックするだけでチェックが入る ようになります。
See the Pen Untitled by VA-Rie (@VA-Rie) on CodePen.
スマホでも操作しやすいチェックボックスにする
label
を使わず小さいボックスだけだと、スマホユーザーは狙いにくいです。for
属性を正しく設定すれば、操作がしやすくなり使いやすさが向上します。
:checked疑似クラスでデザインを変える
CSSでチェック状態を反映させる方法
チェックが入ったときに見た目を変えたい場合、CSSの :checked
疑似クラスを使います。
See the Pen Untitled by VA-Rie (@VA-Rie) on CodePen.
この例では、チェックが入ったときにラベルの文字色が緑になり、太字になります。
*疑似クラスの解説はこちら→擬似クラスってなに?リンクにマウスを乗せた時の”あの指マーク”で覚えよう!
チェックが入ったときの見た目変更のサンプル
例えば「同意します」にチェックを入れたら文字を強調する、チェックが外れたら元に戻す、といったデザインを作ることができます。
See the Pen Untitled by VA-Rie (@VA-Rie) on CodePen.
これで「同意します」にチェックが入ると、背景が淡いグリーンでハイライトされます。
チェックボックスの実装で気をつけたいポイント
画像やテキストにalt属性を設定する重要性
チェックボックスの横に画像を配置する場合は、必ずalt
属性を設定しましょう。
スクリーンリーダーなど支援技術でも内容が伝わり、アクセシビリティ改善につながります。
ユーザビリティを考えたサイズやデザイン
チェックボックスは小さいため、デフォルトのままだとタップしにくいケースがあります。
CSSで transform: scale(1.3);
を使って少し大きめにすると、操作性が向上します。
まとめ
- チェックボックスは「選ぶ・選ばない」を表現できる便利な操作パーツ
for
属性でラベルとつなげると操作性が高まる:checked
疑似クラスを使えばデザインを変えてわかりやすくできる
チェックボックスはシンプルですが、for属性と:checkedを組み合わせることで、より使いやすく・見やすい操作性を実現できます。
*属性セレクタの解説はこちら→属性セレクタとは、classなしでもデザインできる便利ワザ!
*隣接セレクタの解説はこちら→子孫クタ・子セレクタ・隣接セレクタの基本的な書き方
次回は ::before と ::after 疑似要素をわかりやすく解説!
コメント