カテゴリ: CSS 更新日: 2026/06/26

入力欄にアイコンを表示しよう!CSSのpositionと擬似要素で簡単おしゃれな入力フォーム作成術

入力欄のアイコン表示(擬似要素やpositionの活用)
入力欄のアイコン表示(擬似要素やpositionの活用)

先生と生徒の会話形式で理解しよう

生徒

「Webサイトを見ていると、名前を入力する枠の中に人のアイコンが入っているのを見かけます。あれってどうやって作っているのですか?」

先生

「あれは入力欄の装飾で、CSSを使って配置されています。CSSの仕組みを理解すると、自分でも簡単に作れるようになりますよ。」

生徒

「CSSというのは聞いたことありますが、アイコンを枠の中に入れるなんて難しそうです!」

先生

「大丈夫です。基本となるposition(位置指定)と擬似要素(ぎじようそ)という考え方を順番に学んでいきましょう!」

1. 入力欄にアイコンを表示するメリットとは?

1. 入力欄にアイコンを表示するメリットとは?
1. 入力欄にアイコンを表示するメリットとは?

Webサイトのデザインにおいて、入力欄にアイコンがあることはとても重要です。なぜなら、一目で「ここに名前を入力する」「ここはメールアドレスを入力する場所だ」とユーザーに直感的に伝えることができるからです。これをUI(ユーザーインターフェース)デザインと呼びますが、使いやすいサイト作りにおいて欠かせない技術です。

アイコンがあるだけで、サイトが洗練された印象になり、プロっぽく見えます。初心者の方でも、CSSという言語を少し工夫するだけで、すぐに取り入れることができます。まずは、どんな仕組みでアイコンが浮いているのか、その秘密を探っていきましょう。

2. CSSのposition(位置指定)を理解しよう

2. CSSのposition(位置指定)を理解しよう
2. CSSのposition(位置指定)を理解しよう

CSSには、要素を自由な場所に配置するための「position」という機能があります。通常、HTMLの要素は上から順に並びますが、positionを使うと、そのルールを無視して好きな場所にアイコンを重ねることができます。

特に重要なのが「親」と「子」の関係です。アイコンの親となる入力欄(inputタグ)をrelative(相対的な位置)に設定し、アイコンをabsolute(絶対的な位置)にすることで、入力欄の端にアイコンを固定することができます。これが、アイコンを入力欄の右や左にきれいに並べるための基本テクニックとなります。

3. 擬似要素でアイコンを挿入する

3. 擬似要素でアイコンを挿入する
3. 擬似要素でアイコンを挿入する

次に、HTMLにわざわざアイコンの画像タグを追加しなくても、CSSの力だけでアイコンを表示する方法を学びましょう。CSSには「擬似要素」という、実際には存在しないはずの要素を画面上に作り出す機能があります。

「before」や「after」という言葉を使って、入力欄のすぐ前や後ろにアイコンを付け加えることができます。これを使うことで、HTMLがすっきりし、管理がしやすくなります。プロのデザイナーもよく使う手法ですので、ぜひ覚えておきましょう。


<style>
  .input-wrapper {
    position: relative;
    display: inline-block;
  }
  .input-wrapper::before {
    content: "人";
    position: absolute;
    left: 10px;
    top: 5px;
  }
  .my-input {
    padding-left: 30px;
  }
</style>

<div class="input-wrapper">
  <input type="text" class="my-input" placeholder="名前を入力">
</div>
ブラウザ表示

4. アイコンをきれいに整える余白の調整

4. アイコンをきれいに整える余白の調整
4. アイコンをきれいに整える余白の調整

アイコンを表示させると、入力した文字とアイコンが重なってしまうことがあります。これを解決するのが「パディング(padding)」です。パディングとは、要素の内部にできる余白のことです。

アイコンがある側の入力欄に、少しだけパディングを広めに設定してあげると、アイコンと文字が重ならず、とても見やすい入力フォームになります。ちょっとした調整ですが、使いやすさには大きな差が出ます。まずは、padding-leftやpadding-rightを使って、文字が窮屈にならないように調整する練習をしてみましょう。


<style>
  .search-box {
    padding: 10px 10px 10px 40px;
    border: 1px solid #ccc;
    border-radius: 5px;
  }
</style>

<input type="text" class="search-box" placeholder="検索キーワード">
ブラウザ表示

5. ブートストラップを使ってさらに簡単に配置する

5. ブートストラップを使ってさらに簡単に配置する
5. ブートストラップを使ってさらに簡単に配置する

CSSをゼロから書くのが難しい場合は、ブートストラップ(Bootstrap)という便利なツールを使うのがおすすめです。ブートストラップには、あらかじめ準備されたスタイルがたくさんあり、入力欄にアイコンを添えるための部品も用意されています。

「input-group」という機能を使えば、入力欄の横にアイコンを簡単に並べることができます。複雑なCSSを書かなくても、クラスを指定するだけでプロのようなデザインになります。初心者の方は、まずはこうした便利な道具を使って、仕組みを理解してからCSSを自分で書くようにするとスムーズです。


<div class="input-group mb-3">
  <span class="input-group-text"><i class="bi bi-envelope"></i></span>
  <input type="text" class="form-control" placeholder="メールアドレス">
</div>
ブラウザ表示

6. レスポンシブ対応:スマホでもきれいな表示

6. レスポンシブ対応:スマホでもきれいな表示
6. レスポンシブ対応:スマホでもきれいな表示

最後に忘れてはならないのが、スマホで見たときの表示です。パソコンではきれいに並んでいたアイコンも、スマホの狭い画面ではずれてしまうことがあります。そんなときは「レスポンシブ」という技術を使います。これは、画面の幅に合わせて表示を変える技術です。

CSSのメディアクエリという仕組みを使うと、「画面幅が小さいときはアイコンのサイズを小さくする」といった指示を出すことができます。今のWebサイトは、パソコンだけでなくスマホで見られることがほとんどですので、アイコンのデザインもスマホで見やすいかどうか、必ず確認するようにしましょう。これだけでサイトの品質は一段と上がります。


<style>
  .icon-input {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
  }
</style>

<input type="text" class="icon-input" placeholder="スマホでも安心の幅">
ブラウザ表示

7. アイコン表示でユーザー体験を向上させる

7. アイコン表示でユーザー体験を向上させる
7. アイコン表示でユーザー体験を向上させる

入力欄にアイコンを表示する作業は、最初は難しく感じるかもしれません。positionや擬似要素といった、新しい概念が出てくるからです。しかし、これらを使いこなせるようになると、入力フォームの使い勝手が大きく変わります。ユーザーは「何を入力すればいいか」が一目で分かるようになるため、ストレスなくサイトを利用できるようになります。

Web開発の現場では、ほんの少しの丁寧なデザインが、サイトの評価を大きく左右します。ぜひ、今回のCSSテクニックを参考にして、自分だけの使いやすい入力フォームを作ってみてください。失敗しても大丈夫です。何度か書き直して、ブラウザで表示を確認する、その繰り返しが、あなたのWeb制作スキルを確実に高めてくれます。

2026年最新 スキルアップ・実践セミナー

【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー

「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。

本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。

具体的なワークショップ内容と環境

【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。

【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。

この60分で得られる3つの技術資産

1. 現代のデファクトスタンダード「Flexbox」

要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。

2. メンテナンス性を高めるCSS設計の基礎

後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。

3. パフォーマンスと美しさの両立

画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。

※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。

【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー

リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
テーブルの罫線を消す!CSSで枠線なしのスッキリした表デザインを作る方法
New2
HTML
HTMLのtableタグの使い方を完全ガイド!初心者でもわかる表組みデータの基本
New3
CSS
CSSで要素の可視性を制御するテクニック!モーダル・ドロップダウン活用ガイド
New4
CSS
CSSで表示切替をアニメーションと併用する方法!displayとtransitionの使い方完全ガイド
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.2
Java&Spring記事人気No2
HTML
HTML inputタグとは?フォーム入力を担う基本要素を初心者向けに完全解説
No.3
Java&Spring記事人気No3
CSS
CSSの::placeholderの使い方を完全ガイド!入力欄のデザインを自由自在に変える方法
No.4
Java&Spring記事人気No4
CSS
テキストボックスの作り方!CSSで幅・高さ・色を自由にカスタマイズする方法
No.5
Java&Spring記事人気No5
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.6
Java&Spring記事人気No6
CSS
CSSでGoogle Fontsを使う方法を完全ガイド!初心者でもできるフォントの変更
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrap 5ボタン入門:.btn・.btn-primaryの種類とサイズ・形を初心者向けに完全解説
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrap 5 のカラーと背景色を完全ガイド!初心者向け色の使い分け解説