ダウンロード サンプルファイル (6.5 KB)
フォーカス時に幅が広がる検索ボックス
最後のサンプルは、角丸で虫眼鏡アイコンとヒントテキストがあるデザインです。
フォーカス時には、ボックス幅が広がりピンクの光彩が出ます。
HTML5でマークアップ
今回はボタンがないので、さらにシンプルなコードになっていますが、HTML5で追加されたplaceholder属性を使っています。プレースホルダーとは、フォームの入力欄の中に表示される入力に関するヒントを示したテキストです。
<form> <input type="search" placeholder="キーワード検索"> </form>
デフォルト時のスタイリング
まずはデフォルト時のスタイルを設定しましょう。幅は200px、1pxのグレーのボーダー、半径20pxの角丸を指定します。
さらに、背景色をグレー、背景画像として虫眼鏡アイコンを左から10px、高さの真ん中に繰り返さずに表示するよう指定しています。アイコンの表示領域を確保するため、左パディングには40pxを指定しました。
アニメーションの指定はCSS3のtransitionプロパティを使っています。これはCSSプロパティが変化する際のアニメーション効果をまとめて指定できるプロパティで、transition-property、transition-duration(変化の時間)、transition-timing-function(変化のタイミング)、transition-delay(変化がいつ始まるか)の各プロパティの値を、この順に半角スペースで区切って一括で指定できます。この例では、transition-propertyとtransition-propertyのみ、全プロパティが0.5秒かけて変化するよう指定しています。
input[type="search"] {
box-sizing: content-box;
padding-left: 40px; /* アイコンの表示領域のためのパディング */
height: 38px;
width: 200px;
border-radius: 20px;
border: 1px solid #ccc;
background: #eee url('search03.png') 10px center no-repeat;
transition: all 0.5s; /* アニメーションの指定:全プロパティ、0.5秒かけて変化 */
}
フォーカス時のスタイリング
フォーカス時は、幅500px、背景色は白、ボーダーはピンクになるよう指定しました。ピンク系の光彩は、box-shadowプロパティで指定しています。
input[type="search"]:focus {
width: 500px;
background-color: #ffffff;
border-color: #ff00cc;
box-shadow: 0 0 5px 0 #cc6699;
}
プレースホルダーのスタイル
執筆時点では、プレースホルダーをスタイルの適用対象とするには、ブラウザごとにベンダープレフィックスが必要です。CSS3から擬似要素はコロンが2つになりましたが、IEではコロンが1つ、またplaceholderとinput-placeholderの2種類の書式があるので注意しましょう。
| ベンダープレフィックス付き書式 | 対象ブラウザ |
|---|---|
| ::-webkit-input-placeholder | Webkit系ブラウザ(Chrome、Safari)I |
| ::-moz-placeholder | Firefox 19+ |
| :-ms-input-placeholder | Internet Explorer 10+ |
サンプルでは、次のように文字色がグレーになるよう統一しました。
::-webkit-input-placeholder { /* Chrome, Safari */
color: #666666;
}
::-moz-placeholder { /* Firefox */
color: #666666;
}
:-ms-input-placeholder { /* IE */
color: #666666;
}
まとめ
本記事では、検索ボックスのスタイリング例を3つ紹介しました。フォームはブラウザごとのデフォルトスタイルにばらつきがありますが、入力欄やボタン、プレースホルダーなどをスタイリングする際もブラウザごとの対処法を覚えておくと便利です。次回は、フォーム部品のラジオボタンやチェックボックスのスタイリング方法をご紹介します。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 宮本麻矢(ミヤモト マヤ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
