CSSで検索ボタンを作成する方法|サンプルコード付きで解説
CSSを使えば、テキスト入力欄と検索アイコンボタンを組み合わせた、おしゃれで使いやすい検索フォームを簡単に作成できます。ここでは、Font Awesomeのアイコンを活用した検索ボタンの実装例を、実際のコードとともに紹介します。
実装例(サンプルコード)
以下は、CSSを使用して検索ボタンを作成するためのコード例です。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
* {
box-sizing: border-box;
}
input[type=text] {
padding: 12px;
font-size: 17px;
border: 1px solid grey;
float: left;
width: 80%;
background: #f1f1f1;
}
button {
float: left;
width: 20%;
padding: 12px;
background: rgb(14, 81, 204);
color: white;
font-size: 17px;
border: 1px solid grey;
border-left: none;
cursor: pointer;
}
button:hover {
background: #1b11a5;
}
</style>
</head>
<body>
<h1>Search button example</h1>
<form >
<input type="text" placeholder="Search.." name="search">
<button type="submit"><i class="fa fa-search"></i></button>
</form>
</body>
</html>出力結果
上記のコードを実行すると、次のような出力が得られます。

コードのポイント解説
このサンプルコードで押さえておきたいポイントは以下の通りです。
- 横並びレイアウト: 入力欄(
input[type=text])にwidth: 80%、ボタンにwidth: 20%を指定し、両方にfloat: left;を設定することで、入力欄とボタンが隙間なく横一列に並びます。 - box-sizing の指定:
* { box-sizing: border-box; }とすることで、paddingやborderを含めて幅が計算されるため、レイアウト崩れを防げます。 - ホバー効果:
button:hoverでマウスオーバー時の背景色を濃い青に変化させ、押せるボタンであることを視覚的に伝えています。 - 検索アイコン: Font Awesomeの
fa fa-searchクラスを読み込むことで、画像不要の虫眼鏡アイコンをボタン内に表示しています。
このように、HTMLとCSSだけで特別なライブラリを追加することなく(アイコン用のFont Awesome以外)、シンプルかつ実用的な検索フォームを実装できます。ぜひ自分のサイトのデザインに合わせて、色や幅をカスタマイズしてみてください。
-
CSSを使ってクーポンを作成する方法【サンプルコード付き】
CSSを活用すれば、破線の枠やプロモーションコード、有効期限などを含んだ見栄えの良いクーポンデザインを、HTMLとCSSだけで簡単に作成できます。本記事では、実際に動作するサンプルコードを交えて、クーポンの実装方法をわかりやすく解説します。 クーポン作成のサンプルコード 以下のコードは、店舗名・商品画像・キャッチコピー・割引コード・有効期限を含むクーポンを作成するものです。破線のボーダー(dashed)を使うことで、切り取り線のある本物のクーポンらしい雰囲気を演出しています。 <!DOCTYPE html> <html> <head> <meta na
-
CSSで矢印を作成する方法!borderとrotateを組み合わせた4方向矢印の実装テクニック
CSSでは、画像やアイコンフォント、外部ライブラリに頼らなくても、border(境界線)とtransform: rotate()を組み合わせるだけで、上下左右どの方向の矢印でも簡単に作成できます。境界線でL字型の角を作り、それを回転させるのが基本的な考え方です。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>