サイト 内 検索 html

サイト内検索HTMLの実装方法

要約

この記事では、ウェブサイト内での検索機能を実現するためのHTMLとCSSの基本的な技術について説明します。ユーザーが特定のコンテンツを迅速に見つけることができるようにするためのポイントや実際のコード例を挙げています。

サイト内検索の標準版とhtmlで自作するカスタマイズした検索窓

Webサイトに検索機能を追加したいと思ったことはありませんか?

この記事では、HTMLを使って検索窓を作成する方法を3つのパターンに分けて解説します。シンプルな標準的な検索窓から、画像を使ったカスタマイズ検索窓、さらにはGoogle検索窓まで、作成に必要なコードとそれぞれの要素の解説を詳しくご紹介します。

1. 標準的なサイト内検索窓

まずは、HTMLで最も基本的なサイト内検索窓を作成する方法を見ていきましょう。

<form action="#" method="post">
  <input type="search" name="search" placeholder="キーワードを入力">
  <input type="submit" name="submit" value="検索">
</form>

このコードは、検索キーワードを入力するテキストフィールドと「検索」ボタンを持つシンプルな検索窓を作成します。

各要素とその属性について解説します。

  • <form>要素: フォーム全体を定義します。

    • action="#": フォームの送信先URLを指定します。#は、現在のページ自身を表すため、この設定ではフォーム送信後もページ遷移は起こりません。

    • method="post": フォームデータの送信方法を指定します。postメソッドは、データをURLに表示せずにサーバーに送信するため、セキュリティ上、getメソッドよりも安全です。

  • <input type="search">要素: 検索キーワードを入力するためのテキストフィールドを作成します。

    • name="search": この入力フィールドに"search"という名前を付けます。サーバーサイドでデータを受け取る際に、この名前で識別されます。

    • placeholder="キーワードを入力": テキストフィールド内に、薄いグレーで「キーワードを入力」というヒントを表示します。ユーザーが入力開始すると、このヒントは消えます。

  • <input type="submit">要素: フォームを送信するためのボタンを作成します。

    • name="submit": この送信ボタンに"submit"という名前を付けます。

    • value="検索": ボタンに表示するテキストを「検索」に設定します。

2. 自作するサイト内検索窓

標準的な検索窓もいいですが、サイトのデザインに合わせてカスタマイズしたい場合もあるでしょう。ここでは、画像を使った検索ボタンと、複数行のテキスト入力欄を追加した、より自由度の高い検索窓を作成する方法を解説します。

<form action="#" method="post">
  <div id="box">
    <input type="text" name="smp_text" placeholder="キーワードを入力" id="headerSearchText">
    <input type="image" name="smp_name" src="https://drive.google.com/uc?export=view&id=1qyh3SwKQK9922MjChea6ZsmoKqOEPc5i" alt="検索" id="headerImage">
  </div>
  <textarea cols="70" rows="4" name="smp_textarea" maxlength="255" placeholder="テキスト入力"></textarea>
</form>

<style>
#box{
  position:relative;
  top:0px;
  left:0px;
  padding-bottom:10px;
}
#headerSearchText{
  line-height:30px;
  padding-left:10px;
  padding-right:28px;
}
#headerImage{
  width:20px;
  position:absolute;
  top:10px;
  left:180px;
}
</style>

このコードでは、<div>要素で検索テキストフィールドと画像ボタンを囲み、CSSを使って画像ボタンをテキストフィールド内に配置しています。また、<textarea>要素で複数行のテキスト入力欄を追加しています。

各要素とその属性、CSSの設定について解説します。

  • <div id="box">:

    • 検索テキストフィールドと画像ボタンをまとめて配置するための<div>要素です。

    • id="box": 後ほどCSSでスタイルを適用するために、"box"というIDを指定しています。

  • <input type="text">:

    • 検索キーワードを入力するためのテキストフィールドです。

    • name="smp_text": サーバーサイドでデータを受け取る際に、この名前で識別されます。

    • placeholder="キーワードを入力": テキストフィールド内に、薄いグレーで「キーワードを入力」というヒントを表示します。

    • id="headerSearchText": 後ほどCSSでスタイルを適用するために、"headerSearchText"というIDを指定しています。

  • <input type="image">:

    • 画像を検索ボタンとして使用するための要素です。

    • name="smp_name": サーバーサイドでデータを受け取る際に、この名前で識別されます。

    • src="https://drive.google.com/uc?export=view&id=1qyh3SwKQK9922MjChea6ZsmoKqOEPc5i": 表示する画像のURLを指定します。

    • alt="検索": 画像が表示できない場合に表示される代替テキストです。

    • id="headerImage": 後ほどCSSでスタイルを適用するために、"headerImage"というIDを指定しています。

  • <textarea>要素:

    • 複数行のテキストを入力するための要素です。

    • cols="70": テキストエリアの横幅を70文字分に設定します。

    • rows="4": テキストエリアの高さを4行分に設定します。

    • name="smp_textarea": サーバーサイドでデータを受け取る際に、この名前で識別されます。

    • maxlength="255": 入力できる最大文字数を255文字に制限します。

    • placeholder="テキスト入力": テキストエリア内に、薄いグレーで「テキスト入力」というヒントを表示します。

  • CSSの設定:

    • #box { position: relative; ... }: #box要素を基準とした相対的な位置指定を有効にします。

    • #headerSearchText { line-height: 30px; ... }: テキストフィールドの高さを30ピクセルに設定し、画像ボタンが収まるようにします。

    • #headerImage { width: 20px; position: absolute; top: 10px; left: 180px; }: 画像ボタンの幅を20ピクセルに設定し、#box要素を基準とした絶対的な位置指定で配置します。

3. 標準的なGoogle検索窓 (参考)

最後に、Googleのサイト内検索窓を参考に、外部サイトの検索機能を利用する検索窓を作成する方法を紹介します。

<form method="get" action="http://www.google.co.jp/search">
<table bgcolor="#FFFFFF"><tr><td>
<a href="http://www.google.co.jp/">
<img src="http://www.google.com/logos/Logo_40wht.gif" border="0" alt="Google" align="absmiddle"></a>
<input type="text" name="q" size="31" maxlength="255" value="">
<input type="hidden" name="ie" value="Shift_JIS">
<input type="hidden" name="oe" value="Shift_JIS">
<input type="hidden" name="hl" value="ja">
<input type="submit" name="btnG" value="Google 検索">
</td></tr></table>
</form>

このコードでは、<form>要素のaction属性にGoogleの検索URLを指定し、method属性にgetメソッドを指定しています。

各要素とその属性について解説します。

  • <form method="get" action="http://www.google.co.jp/search">:

    • フォーム全体を定義します。

    • method="get": フォームデータの送信方法をgetメソッドに設定します。Google検索ではgetメソッドが使用されます。

    • action="http://www.google.co.jp/search": フォームの送信先URLをGoogleの検索URLに設定します。

  • <a href="http://www.google.co.jp/"> <img src="http://www.google.com/logos/Logo_40wht.gif" border="0" alt="Google" align="absmiddle"></a>:

    • Googleのロゴ画像へのリンクを作成します。

    • align="absmiddle": ロゴ画像をテキストの中央に配置します。

  • <input type="text" name="q" size="31" maxlength="255" value="">:

    • 検索キーワードを入力するためのテキストフィールドです。

    • name="q": Google検索では、検索キーワードを"q"という名前で受け取ります。

    • size="31": テキストフィールドの表示幅を31文字分に設定します。

    • maxlength="255": 入力できる最大文字数を255文字に制限します。

  • <input type="hidden" ...>要素:

    • ユーザーには見えない形で、追加情報をサーバーに送信するための要素です。

    • name="ie" value="Shift_JIS": Googleが受け取る文字コードを"Shift_JIS"に設定します。

    • name="oe" value="Shift_JIS": 検索結果を出力する文字コードを"Shift_JIS"に設定します。

    • name="hl" value="ja": 検索結果を日本語で表示するように設定します。

  • <input type="submit" name="btnG" value="Google 検索">:

    • フォームを送信するためのボタンです。

    • value="Google 検索": ボタンに表示するテキストを「Google 検索」に設定します。

4. まとめ

この記事では、HTMLを使って検索窓を作成する3つの方法を紹介しました。

サイト内検索の重要性と実装手順

サイト内検索機能は、ユーザーが情報を効率よく探すために必要不可欠です。本記事では、HTMLを用いた基本的な検索フォームの作成方法と、CSSによるスタイリングの手法について詳細に解説します。具体的なコーディング手順に加え、検索機能のユーザビリティ向上に向けたヒントも紹介します。

検索機能のサイズやカラーを指定する方法

入力フォームのサイズを変更したい、自分で作成した検索ボタンを使いたいという人も多いのではないでしょうか。その場合は、HTMLの<input>タグを利用してカスタマイズしていきましょう。

検索ボタン部分を自分で作成したイラストやフリー画像などを使用する場合は、コードに画像URLを記述することで可能になります。

<form action="http://www.google.co.jp/search" method="get">
 <input type="search" name="search" placeholder="キーワードを入力">
 <input type="image" src="画像URL" width="30" height="30" alt="検索" value="検索する">
</form>

HTML内にこの様なコードを記述することで、

<img src="画像検索ボタンイメージ.png" alt="画像検索ボタンイメージ">

検索ボタンを自由にカスタマイズすることが可能です。

  • type="image": 画像をボタンとして使用することを指定します。

  • src="画像URL": 使用する画像のURLを指定します。

  • width="30" height="30": 画像の幅と高さを指定します。

  • alt="検索": 画像が表示されない場合に表示される代替テキストです。

  • value="検索する": ボタンの値を設定します。これはサーバーに送信されるデータの一部となりますが、type="image"の場合はあまり意味を持ちません。

文字を入力するテキストボックスは「size属性」を使って変更することが可能です。

<form action="http://www.google.co.jp/search" method="get">
 <input type="search" name="search" placeholder="キーワードを入力" size="40">
 <input type="image" src="画像URL" width="30" height="30" alt="検索" value="検索する">
</form>

  • size="40": テキストボックスの幅を40文字分に設定します。

この様にHTML内でサイズを変更し、検索機能のバランスを整えてより使いやすいサイトにしましょう!

注意ポイントは?

上記で説明したように、検索機能はHTMLで<input>タグを使用して作成していきます。この<input>タグには様々な属性があるので、間違えないように記述していきましょう。

例えば、

  • maxlength属性を使用すると入力文字数の制限が可能

  • type="password"を指定すると入力文字にマスクがかかる

これらはログインなどのパスワード入力には便利かもしれませんが、検索機能にはあまり必要ありません。検索機能に何が必要なのか、ユーザー目線や利便性を重要視して作成すると良いかもしれませんね!

また今回紹介した検索機能の方法は、HTMLのみで完結できるやり方です。もっとサイズや色などをカスタマイズしたいという場合は、CSSを使用してデザインしていきましょう。

関連QA

Q1: サイト内検索を実装する際、どのようなツールを使うと良いですか?

A1: 基本的にはHTML、CSS、JavaScriptを使用しますが、バックエンドではPHPやPythonなどを利用することもあります。

Q2: 検索フォームをどのように最適化することができますか?

A2: 入力補完機能を導入したり、過去の検索履歴を表示したりすることが検索体験を向上させることができます。

Q3: アクセシビリティを考慮した検索機能の実装方法は?

A3: ARIAランドマークやラベルを正しく使用し、キーボード操作にも対応したインターフェースを実装することが重要です。