*

検索窓に薄い文字を入れて何を入力するのか分かりやすくするプレースホルダ

公開日: : ノウハウ

ネット上で何かを検索したい時、どこを見ますか?

そう、検索窓ですよね。検索窓は EC サイトやネットショップ、何かを検索する必要があるウェブサイトには大概付きものでお馴染みのものです。

たまに見るのが検索窓に薄い文字で予め文字が入っている場合です。

Appleの検索窓

Apple のサイトでは「検索:Apple.com」と何処の検索なのか明示しています。その他によくあるのは検索窓に「キーワードを入力」と書かれているケースがありますね。今回はその方法について焦点を当てます。

検索窓に薄い文字を入れる方法その1

方法は2つほどありますが、まずは javascript を使う方法です。

html

<form>
<input type="text" onfocus="placeholders()" value="キーワードを入力" id="placeholder" />
</form>

サンプル用の簡単なものです。value 属性で予め入れておきたいテキストを書きます。javascript と css 用に ID を指定し、テキストボックスをクリックしてアクティブになったら onfocus 属性が有効になり javascript の関数を動作させています。

css

<style type="text/css">
#placeholder{
	color:#666;	
}
</style>

そのままでは予め入れておくテキストも黒になってしまうので、css で少し文字色を薄くします。

javascript

<script type="text/javascript">
<!--
function placeholders(){
	var obj = document.getElementById("placeholder");
	if(obj.value == 'キーワードを入力'){
		obj.value = "";
		obj.style.color = '#000';
	}
}
-->
</script>

テキストボックスに入っている文字が「キーワードを入力」だったら、テキストボックスの中身を空にして文字色を黒に変更しています。

javascript 非対応のブラウザの為にスクリプトをコメントアウトしています。今どき非対応の物なんてあるのか?と思いましたが、i-mode などフィーチャーフォンがありました。ネット閲覧もスマホが主流になる中、いつまで考慮する必要があるんでしょうかね。

検索窓に薄い文字を入れる方法その2

javascript を使う方法だと色々とごちゃごちゃしてややこしいですが、実はもっと簡単な方法がありました。従来は javascript を使う方法が主流だったのですが、次の方法は最近可能になったものです。

それは html5 です。

html5 で サイトを作って置かなければいけませんが html5 では javascript や css も使うこと無く完結する事ができます。具体的には以下のように書きます。

<input type="text" placeholder="キーワードを入力">

たったこれだけです。たったこれだけなのに最初に挙げた方法より優れています。

  • 予め設定した文字が消えるのはユーザーが文字を入力した時
  • テキストボックスが空になったら予め設定した文字に戻る
  • 文字色の指定をしなくても最初から薄い

html5 ですので IE8 以下など古いブラウザには対応できません。しかし、2014年末に html5 が正式勧告されました。古いブラウザでも html5 に対応できるスクリプトもあるので十分実用性があるものになりました。

以下のスクリプトで IE8 以下にも html5 の要素が使えるようになります。

<!--[if IE]>
	<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

おわりに

予め検索窓に薄い文字を入れておく事は助けになる事もありますが、使い道を誤ると逆に不便になる事もあります。あまり長い文章を入れておくのは不向きで、あくまで補助的な説明に留めておきましょう。

  • Pocket

おすすめトピックス

関連記事

https通信下でjavascriptが動かない場合の対処法

https 通信下で javascript が動かない!とお困りという事は、もしかしてあなたのページは特定のページだけ https 通信を行っているのではないでしょうか?例えばログインページ、決済ページのみ暗号化を行う […]

cssとjqueryでサイトのローディング画面を簡単に実現する作り方【プラグインなし】

現在ロード中を知らせるローディング画面(Now Loading)は今までにどこかのサイトで見たことがあるかと思います。かつて FLASH 動画全盛の時代にはこんなローディング画面を見る機会も多かったです。このようなローデ […]

縦の三点リーダー
縦の三点リーダーをウェブサイト上で表示する方法

三点リーダーという言葉をご存知でしょうか。日本語の世界では度々登場するもので、小説、雑誌、文書など様々な場面に登場するものです。三点リーダーとはすなわち「…」、点が3つ並んだものです。普段のメールなどの会話でも言葉を省略 […]

iframe内のjavascriptを無効にする方法

html の iframe(インラインフレーム)とは、一つのページ内に小窓を作ってその内部に別ページや別サイトを表示させるタグです。iframe 内のページは自分で作る事もありますが、他の人が作る事もあります。どういう事 […]

オフィス画像モニタ
CSSのみでhtmlタグの中に文章を挿入する方法があります

ウェブサイトの中で html の編集が出来ない場所に文章を書くなど編集する事は出来ません。一見当たり前の事を言っているだけです。しかし、CSS なら出来てしまうかもしれません。 目次1 htmlの編集が出来ない場所とは2 […]

CSSの擬似クラスnth-childは3の倍数以外というような否定条件も可能

CSS において偶数の要素だけ、奇数の要素だけ、何番目の要素だけというような細かな指定ができる擬似クラスがあります。 例えばリストの3番目の要素なら次のように指定します。 偶数番目の要素だけ指定したいなら… 奇数番目の要 […]

著者について

名前:Azell
作曲したり風景写真撮ったりWeb制作したりする人です。 好きな事を楽しくブログに綴れていけたらと思います。

フォローはこちら

       

       
Googleフォトにアップした写真がどこで撮影したのか確認する方法

あなたのスマートフォンの中にもたくさんの写真があるのではないで

長浜IC前「らーめん専家味噌壱」癖になる濃厚味噌ラーメン

北陸自動車道の長浜インターチェンジ前に、2018年にラーメン屋

WordPressのWP_Queryでカスタムフィールドで絞り込み今日の日付以前の記事は表示しない

WordPress で条件に応じた記事を一覧で表示したいという

電子レンジで冷凍食品のあたため500W/600Wってどこで判別?地域によって違いは?

冷凍食品を温めるのには電子レンジを使用しますが、冷凍食品の裏側

Premiere Elementsで動画の一部を切り抜きトリミングする方法

せっかく動画を撮影したけど、肝心な部分は動画の中央部分だけでま

→もっと見る