アイコン付きセレクトボックスを作る方法【HTML/CSS・サンプルコード付き】

セレクトボックス

アイコン付きセレクトボックスを作る方法

セレクトボックスの左側へアイコンを表示する方法を紹介します。通常のセレクトボックスにアイコンを追加するだけで、何を選択するフォームなのかがひと目で分かりやすくなります。

カテゴリー選択や都道府県、配送方法、ユーザー情報など、入力内容を視覚的に伝えたい場面でよく利用されるデザインです。HTMLとCSSだけで実装できるため、JavaScriptを使わずに導入できます。

サンプルではアイコン付きセレクトボックスを複数用意し、それぞれ異なるアイコンを表示しています。アイコンは文字を使用しているため画像ファイルは不要で、そのままコピーして利用できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
アイコンについて サンプルでは文字アイコンを使用しています。画像やSVGへ変更したい場合も同じ構成で利用できます。

デモ

アイコン付きセレクトボックス

アイコンを付けることで、どの内容を選択するセレクトボックスなのかが分かりやすくなります。

📍
🚚
💳

左側のアイコンはCSSで配置しているため、文字・絵文字・画像・SVGなどへ自由に変更できます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コードをUTF-8へ設定 -->
  <meta charset="UTF-8">

  <!-- スマートフォンやタブレットの画面幅へ対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ブラウザのタブへ表示するページタイトル -->
  <title>アイコン付きセレクトボックス</title>

  <!-- セレクトボックスのデザインを設定するCSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- アイコン付きセレクトボックス全体 -->
  <div class="select-box-icon">

    <!-- セレクトボックスエリアのタイトル -->
    <div class="select-box-icon_title">
      アイコン付きセレクトボックス
    </div>

    <!-- アイコンを表示する目的を案内する説明文 -->
    <p class="select-box-icon_text">
      アイコンを付けることで、選択する内容を分かりやすく表示できます。
    </p>

    <!-- 3つのセレクトボックスをまとめる一覧 -->
    <div class="select-box-icon_group">

      <!-- 都道府県を選択する項目 -->
      <div class="select-box-icon_item">

        <!-- 都道府県を表すアイコン -->
        <span class="select-box-icon_symbol" aria-hidden="true">
          📍
        </span>

        <!-- 都道府県を選択するセレクトボックス -->
        <select
          class="select-box-icon_select"
          id="prefecture"
          name="prefecture"
          aria-label="都道府県を選択">

          <!-- 初期表示する案内項目 -->
          <option value="">都道府県を選択</option>

          <!-- 都道府県の選択肢 -->
          <option value="tokyo">東京都</option>
          <option value="osaka">大阪府</option>
          <option value="fukuoka">福岡県</option>

        </select>

      </div>

      <!-- 配送方法を選択する項目 -->
      <div class="select-box-icon_item">

        <!-- 配送方法を表すアイコン -->
        <span class="select-box-icon_symbol" aria-hidden="true">
          🚚
        </span>

        <!-- 配送方法を選択するセレクトボックス -->
        <select
          class="select-box-icon_select"
          id="delivery"
          name="delivery"
          aria-label="配送方法を選択">

          <!-- 初期表示する案内項目 -->
          <option value="">配送方法を選択</option>

          <!-- 配送方法の選択肢 -->
          <option value="home-delivery">宅配便</option>
          <option value="mail">メール便</option>
          <option value="store">店舗受け取り</option>

        </select>

      </div>

      <!-- 支払い方法を選択する項目 -->
      <div class="select-box-icon_item">

        <!-- 支払い方法を表すアイコン -->
        <span class="select-box-icon_symbol" aria-hidden="true">
          💳
        </span>

        <!-- 支払い方法を選択するセレクトボックス -->
        <select
          class="select-box-icon_select"
          id="payment"
          name="payment"
          aria-label="支払い方法を選択">

          <!-- 初期表示する案内項目 -->
          <option value="">支払い方法を選択</option>

          <!-- 支払い方法の選択肢 -->
          <option value="credit-card">クレジットカード</option>
          <option value="bank">銀行振込</option>
          <option value="cash-on-delivery">代金引換</option>

        </select>

      </div>

    </div>

    <!-- アイコンの変更方法を案内する補足文 -->
    <p class="select-box-icon_note">
      span要素内の絵文字を変更すると、用途に合ったアイコンへ変更できます。
    </p>

  </div>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTMLとCSSだけで構成されています。HTMLにはアイコン付きセレクトボックスの構造を記述し、CSSにはレイアウトやアイコンの配置、セレクトボックスのデザインを設定しています。JavaScriptを使用していないため、コピーしたコードを貼り付けるだけで利用できます。

アイコンはセレクトボックスの左側へ配置しており、画像を使用しなくても絵文字だけで分かりやすいフォームを作成できます。用途に応じてアイコンを変更するだけで、さまざまな入力フォームへ応用できます。

レスポンシブにも対応しているため、PC・タブレット・スマートフォンでもレイアウトを崩さず利用できます。

sample/
├── index.html
└── style.css

各ファイルの役割
index.html
アイコン付きセレクトボックスのHTMLを記述します。アイコン・ラベル・選択肢を変更する場合はこのファイルを編集します。

style.css
セレクトボックス全体のデザイン、アイコンの配置、角丸、余白、枠線、フォーカス時の装飾、レスポンシブ表示を設定します。

設置方法・使い方
sampleフォルダ内のindex.htmlをブラウザで開くと動作を確認できます。Webサイトへ設置する場合は、index.htmlとstyle.cssを同じフォルダへ配置してください。

カスタマイズできる内容
index.htmlではアイコン・ラベル・選択肢の内容を変更できます。style.cssでは背景色、文字色、枠線、角丸、余白、アイコン位置などを自由に調整できます。アイコンは絵文字だけでなく、画像やSVGへ変更することもできます。

数値調整
style.css内のpaddingを変更するとアイコンと文字の余白を調整できます。border-radiusを変更すると角丸の大きさが変わります。font-sizeを変更すると文字やアイコンの大きさを調整できます。transition:0.2s;はフォーカス時のアニメーション時間を表しており、値を大きくするとゆっくり、小さくすると速く変化します。

レスポンシブ対応
style.cssではwidth:100%、max-width、box-sizingを使用し、画面幅に応じて自動で縮小表示されます。また、640px以下ではpaddingや文字サイズを調整し、スマートフォン・タブレット・PCのいずれでも見やすく操作しやすいレイアウトになります。


こちらもおすすめ


コメント