CSSでフォームの入力欄内にアイコンを配置する方法
CSSを使えば、フォームの入力要素(<input>)の中にアイコンを簡単に配置できます。この記事では、定番のアイコンフォントライブラリ「Font Awesome」を活用して、ユーザー名・メールアドレス・パスワードの各入力欄にアイコンを表示する方法を、実際のコード例とともにわかりやすく解説します。
実装例
<!DOCTYPE html>
<html>
<head>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
/>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
form {
max-width: 450px;
margin: auto;
}
.inputContainer i {
position: absolute;
}
.inputContainer {
width: 100%;
margin-bottom: 10px;
}
.icon {
padding: 15px;
color: rgb(49, 0, 128);
width: 70px;
text-align: left;
}
.Field {
width: 100%;
padding: 10px;
text-align: center;
font-size: 20px;
font-weight: 500;
}
</style>
</head>
<body>
<h1 style="text-align: center;">入力欄にアイコンを表示するサンプル</h1>
<form>
<div class="inputContainer">
<i class="fa fa-user icon"> </i>
<input class="Field" type="text" placeholder="Username" />
</div>
<div class="inputContainer">
<i class="fa fa-envelope icon"> </i>
<input class="Field" type="text" placeholder="Email" />
</div>
<div class="inputContainer">
<i class="fa fa-key icon"> </i>
<input class="Field" type="password" placeholder="Password" />
</div>
</form>
</body>
</html>
出力結果
上記のコードをブラウザで開くと、次のように表示されます。

コードのポイント解説
- .inputContainer:アイコンと入力欄をグループ化するラッパー要素です。幅を100%にし、下方向に余白(margin-bottom)を設けてレイアウトを整えています。
- .inputContainer i:アイコンに対して
position: absolute;を指定することで、通常のフローから外れ、入力欄の上に重ねて表示できるようになります。 - .icon:アイコンの見た目を調整するクラスです。paddingで大きさを確保し、colorプロパティでアイコンの色を指定しています。
- .Field:入力欄本体のスタイルです。
text-align: center;で入力文字を中央寄せにすることで、左側に配置したアイコンと文字列が重なるのを防いでいます。
この手法を応用すれば、検索ボックスに虫眼鏡アイコンを付けたり、必須項目に視覚的な目印を加えたりするなど、フォームの使い勝手とデザイン性を大きく向上させることができます。ぜひ自分のプロジェクトでも試してみてください。
-
CSSでアイコン付きフォームを作成する方法を初心者向けに解説
Webサイトの会員登録フォームやログインフォームでは、入力欄の横にアイコンを表示すると、ユーザーが「何を入力すればよいのか」を直感的に把握でき、デザインの完成度も大きく向上します。本記事では、アイコンフォントライブラリ「Font Awesome」と、CSSのFlexbox(フレックスボックス)を組み合わせて、アイコン付きの入力フォームを作成する方法を、実際に動作するサンプルコード付きで解説します。実装のポイントFont AwesomeのCSSファイルをCDN経由で読み込むアイコンと入力欄をタグでまとめ、display: flex;で横並びに配置するアイコン部分と入力欄のパディング・フォントサイ
-
フォーム入力フィールドで活用できる、あまり知られていないCSSプロパティ3選
CSSには、フォームやテキスト入力に関連する便利でありながら、意外と知られていないプロパティがいくつか存在します。その代表例が caret-color、pointer-events、tab-size の3つです。 caret-color: テキスト入力時に点滅するキャレット(テキストカーソル)の色を自由に指定できます。 pointer-events: 要素へのマウス操作を無効化し、ユーザーがその要素をクリックしたり選択したりできないようにできます。 tab-size: タブ文字によって挿入される空白(ホワイトスペース)の幅を設定します。 以下に、これらのプロパティを使用した具体的なコード例