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

テキストボックス

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

アイコン付きテキストボックスを作る方法を紹介します。入力欄の左側へ検索・ユーザー・メールなどのアイコンを配置することで、どのような内容を入力するフォームなのかを視覚的に分かりやすく表現できます。HTMLとCSSだけで実装できるため、JavaScriptを使わずに手軽に導入できます。

このサンプルでは、ラベル付きのテキストボックスにアイコンを配置し、入力文字と重ならないよう余白を調整したレイアウトを実装しています。お問い合わせ画面や会員登録画面、ログイン画面、検索フォームなど、さまざまなWebサイトでそのまま利用しやすい構成です。アイコンやラベル、プレースホルダーの内容も簡単に変更できます。

シンプルなコード構成なので初心者でも導入しやすく、入力欄の色や角丸、枠線、余白などもCSSから自由にカスタマイズできます。フォーム全体のデザインを統一したい場合や、入力内容を直感的に伝えたい場合にも活用しやすいサンプルです。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

メールアドレスを入力

入力欄の左側にアイコンを表示したテキストボックスです。

✉️

アイコン付きテキストボックスの表示を確認できるデモです。入力すると通常のテキストボックスと同じように利用できます。

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

<!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="icon-textbox_wrap">

    <!-- 入力エリアのタイトル -->
    <div class="icon-textbox_title">
      メールアドレスを入力
    </div>

    <!-- 入力欄の内容を案内する説明文 -->
    <p class="icon-textbox_text">
      入力欄の左側にアイコンを表示したテキストボックスです。
    </p>

    <!-- テキストボックスのラベル -->
    <label
      class="icon-textbox_label"
      for="icon-textbox-email">
      メールアドレス
    </label>

    <!-- アイコンとテキストボックスをまとめる要素 -->
    <div class="icon-textbox_field">

      <!-- メールアドレスを表すアイコン -->
      <span
        class="icon-textbox_icon"
        aria-hidden="true">
        ✉️
      </span>

      <!-- メールアドレスを入力するテキストボックス -->
      <input
        class="icon-textbox_input"
        id="icon-textbox-email"
        name="email"
        type="email"
        placeholder="例:sample@example.com">

    </div>

  </div>

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

ファイル構成と設置方法

このサンプルはHTMLとCSSのみで構成された、アイコン付きテキストボックスです。使用ファイルは2つだけなので構成が分かりやすく、HTMLでフォームの内容を作成し、CSSでアイコンの配置やテキストボックスのデザインを設定しています。JavaScriptを使用していないため、そのままブラウザで開くだけで動作を確認できます。

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

各ファイルの役割
index.htmlはアイコン付きテキストボックスのレイアウトを定義するファイルです。タイトル、説明文、ラベル、アイコン、入力欄の内容を編集できます。
style.cssはデザインを設定するファイルです。文字サイズ、余白、枠線、角丸、背景色、アイコンの位置、フォーカス時の見た目、レスポンシブ表示を変更できます。

設置方法・使い方
sampleフォルダへindex.htmlとstyle.cssを配置してください。その後、sample/index.htmlをブラウザで開くとアイコン付きテキストボックスを利用できます。サーバー環境は不要で、ローカル環境でもそのまま動作します。

カスタマイズできる内容
index.htmlではラベル名、アイコン、プレースホルダー、入力タイプを変更できます。style.cssでは入力欄の横幅、文字サイズ、背景色、枠線の色、角丸、アイコンの位置、余白、フォーカス時の色などを自由に調整できます。

数値調整
style.cssのmax-widthを変更するとフォーム全体の横幅を調整できます。paddingを変更すると入力欄や全体の余白が変わります。border-radiusを変更すると角丸の大きさを調整できます。transition:0.3sはフォーカス時の切り替え速度を表し、値を大きくするとゆっくり、小さくすると素早く変化します。leftやpadding-leftを変更するとアイコンの位置と入力開始位置を調整できます。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのmax-width:700pxでフォーム幅を制限し、width:100%で画面幅に応じて自動的に縮小します。また、media queryによりスマートフォンでは余白や文字サイズを調整しているため、PC・タブレット・スマートフォンでも見やすく利用できます。


こちらもおすすめ


コメント