超シンプルなHTML 5ソリューション:
<input type="search" placeholder="Search..." />
ソース:HTML 5チュートリアル-入力タイプ:検索
これは少なくともChrome 8、Edge 14、IE 10、Safari 5で機能し、Bootstrapやその他のライブラリを必要としません。(残念ながら、Firefoxはまだ検索クリアボタンをサポートしていないようです。)
検索ボックスに入力すると、「x」が表示され、クリックしてテキストをクリアできます。これは、Firefoxなどの他のブラウザーでは通常の編集ボックス(「x」ボタンなし)として機能するため、Firefoxユーザーは代わりにテキストを選択してDeleteキーを押すか、...
Firefoxでサポートされているこの便利な機能が本当に必要な場合は、input [type = search]要素のポリフィルとしてここに掲載されている他のソリューションの1つを実装できます。ポリフィルは、ユーザーのブラウザーが標準のブラウザー機能をサポートしていない場合に、その機能を自動的に追加するコードです。ブラウザーがそれぞれの機能を実装するときに、ポリフィルを削除できるようになることが期待されます。そしていずれにしても、ポリフィルの実装はHTMLコードをよりクリーンに保つのに役立ちます。
ちなみに、他のHTML 5入力タイプ(「日付」、「数値」、「メール」など)も、通常の編集ボックスに段階的に低下します。一部のブラウザーでは、ファンシーな日付ピッカー、上/下ボタン付きのスピナーコントロール、または(携帯電話では)「@」記号と「.com」ボタンを含む特別なキーボードを使用できますが、私の知る限り、すべてのブラウザーう、少なくともいずれかの認識できない入力タイプのプレーンテキストボックスを表示します。
Bootstrap 3&HTML 5ソリューション
Bootstrap 3は多くのCSSをリセットし、HTML 5検索のキャンセルボタンを壊します。Bootstrap 3 CSSが読み込まれた後、次の例で使用されているCSSで検索キャンセルボタンを復元できます。
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<style>
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: searchfield-cancel-button;
}
</style>
<div class="form-inline">
<input type="search" placeholder="Search..." class="form-control" />
</div>
ソース:HTML 5検索入力がブートストラップで機能しない
このソリューションが最新バージョンのChrome、Edge、Internet Explorerで動作することをテストしました。Safariでテストできません。残念ながら、検索をクリアするための「x」ボタンはFirefoxには表示されませんが、上記のように、この機能をネイティブでサポートしていないブラウザー(Firefoxなど)にポリフィルを実装できます。