ホームページ作成/フォームの活用・装飾 (HTML,CSS,JavaScript)

テキスト入力欄の内側にアイコンを表示する(3ページ目)

無味乾燥なテキスト入力フォームの内側左端にアイコンを表示させてみましょう。検索用の入力欄なら虫眼鏡などの「検索機能」を示すアイコンを表示させることで、役割が分かりやすいテキスト入力フォームになります。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

3. アイコンの表示を1つだけにする

背景画像として指定したアイコン画像を、タイル状に並べずに1つだけ表示させるには、以下のようにスタイルを追加します。

<style type="text/css">
input.withicon {
   background-image: url("sicon16.gif");
   background-repeat: no-repeat;
}
</style>

background-repeatプロパティは、背景画像の繰り返し方法を指定するプロパティです。 この値に「 no-repeat 」を指定すると、繰り返さずに1つだけ表示するようになります。

実際に表示させると、以下のように見えます。

これで、アイコン画像が1回だけ表示されるようになりました。
このままでも良さそうですが、アイコン画像の高さよりも入力欄の高さの方が高い場合に、アイコンが上端に寄って見えます。

そこで、アイコンが上下方向の中央に表示されるようにスタイルを追加します。

<style type="text/css">
input.withicon {
   background-image: url("sicon16.gif");
   background-repeat: no-repeat;
   background-position: 2px center;
}
</style>

background-positionプロパティは、背景画像の表示位置を指定するプロパティです。値を2つ指定すると、最初が「左右方向」で次が「上下方向」の位置を指定することになります。 上記では「 2px center 」と指定しているので、「左から2ピクセル・上下方向の中央」に表示されます。

上記のスタイルシートで実際に表示させると、以下のように見えます。

大きい入力欄でも、アイコンが(上下方向の)中央に寄って表示されていることが分かります。

さて、このままでは、テキスト入力欄に入力した内容が、アイコンに重なって表示されてしまいます。(アイコンは「背景」として表示されているので、そのままでは文字が上に重なってしまいます。)
最後に、入力内容がアイコンを避けるように指定しましょう。

入力内容とアイコンが重ならないようにする方法へ >>

  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます