1.はじめに:フォームってどうやって作るの?
「お問い合わせページを作りたい」「名前やメールアドレスを入力してもらいたい」――
そんなときに使うのがHTMLフォームです。
HTMLでは、<form>
タグを使って、ユーザーから情報を受け取るための入力欄を作ることができます。
入力欄(<input>
)、メッセージボックス(<textarea>
)、送信ボタン(<button>
)など、決まったタグを組み合わせるだけで簡単に作成可能です。
さらに、CSSを使ってデザインを整えれば、見た目がきれいで使いやすいフォームに仕上がります。
この記事では、以下の内容を初心者向けにやさしく解説していきます。
- フォームの基本構造(form / input / textarea / button)
- よくある入力パターンの作り方
- CSSによるスタイリングの基本
- エラーを防ぐちょっとした工夫
「フォームって難しそう…」と思っている方も、この記事を読めばきっと自分で作れるようになりますよ!
2.HTMLでフォームを作ってみよう
フォームを作るには、全体を<form>
タグで囲み、入力欄やボタンなどをその中に配置していきます。
以下は、名前・メール・メッセージ入力と送信ボタンを含むシンプルな例です。
💡 サンプルコード:
<form action="/submit" method="post">
<label>
お名前:<br>
<input type="text" name="name">
</label><br>
<label>
メールアドレス:<br>
<input type="email" name="email">
</label><br>
<label>
メッセージ:<br>
<textarea name="message" rows="4"></textarea>
</label><br>
<button type="submit">送信</button>
</form>
✅ 各タグの説明
タグ/属性 | 説明 |
---|---|
<form> | フォーム全体を囲むタグ。action で送信先URLを指定、method で送信方法を指定(通常はpost ) |
<input type="text"> | 1行の文字入力欄 |
<input type="email"> | メールアドレス用の入力欄(形式チェックあり) |
<textarea> | 複数行のテキスト入力欄。rows で行数指定 |
<button> | クリックでフォームを送信するボタン |
これで、基本的なHTMLフォームの構造ができました!
次は、このフォームをCSSで見た目よく整える方法を紹介していきます。
3.CSSでフォームをスタイリングしよう
HTMLだけでもフォームは作れますが、そのままだとちょっと味気ないですよね。
CSSを使えば、見た目を整えて使いやすいフォームにできます。
💡 スタイリングのサンプルコード
以下のCSSをフォームに適用すると、シンプルで見やすいデザインになります:
<style>
form {
max-width: 400px;
margin: 0 auto;
padding: 20px;
background: #f9f9f9;
border: 1px solid #ccc;
border-radius: 8px;
}
input, textarea {
width: 100%;
padding: 8px;
margin-top: 4px;
margin-bottom: 16px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
}
button {
background: #4caf50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
font-size: 16px;
cursor: pointer;
}
button:hover {
background: #45a049;
}
</style>
✅ ポイント解説
form
に背景色と余白をつけると「囲み感」が出て親切input
やtextarea
はwidth: 100%
にすると揃って見やすい- ボタンにホバー効果をつけると「押せそう感」が出る
4.よくあるエラーと対策
フォームを作っていると、**「あれ?思った通りに動かない…」**という場面に出くわすことがあります。
ここでは、初心者がつまずきやすいエラーやトラブルと、その対処法をまとめました。
❓ ボタンを押しても何も起きない
✅ 原因:
<form>
タグのaction
属性が空 or 未設定- まだ送信先のURLが用意されていない
💡 対処法:
- とりあえず動作確認したい場合は、
action="#"
と書いておけばOK - JavaScriptで処理する場合も、
action="#"
やonsubmit="return false;"
を使うことが多い
❓ 入力欄の幅がバラバラになる
✅ 原因:
- CSSで
width
が指定されていない or 初期値のまま
💡 対処法:
input
,textarea
にwidth: 100%;
を指定するだけで解決!
❓ ラベルと入力欄の間隔が不自然
✅ 原因:
- 改行がなくて詰まって見える
label
やinput
に余白が設定されていない
💡 対処法:
<br>
タグで改行を入れる or CSSでmargin
やpadding
を追加して調整する
5.まとめ:HTML×CSSで実用的なフォームを作ろう!
フォームは、ユーザーとサイトをつなぐ大事な入り口。
名前・メール・メッセージなど、ユーザーから情報を受け取るために欠かせません。
✅ この記事で学んだこと
- HTMLの基本タグ(
form
,input
,textarea
,button
)を使えば、シンプルな入力フォームを作れる - CSSを使えば、フォーム全体を見やすく・使いやすくデザインできる
width
やmargin
などのスタイル調整で、見た目のバランスが良くなる- よくあるトラブル(送信できない、ラベルと欄がズレる)も、少しの工夫で回避できる
フォームが作れるようになったら、
次は**レスポンシブ対応(スマホ表示)やバリデーション(入力チェック)**にもチャレンジしてみましょう!
HTML,CSSを学ぶ方々におすすめの書籍です。
僕自身、様々なプログラミングの本を購入しましたが、こちらの[HTML&CSSとWebデザインが1冊できちんと身につく本]が一番わかりやすく、一冊で基本を一通り学べる内容になっています。

HTML&CSSとWebデザインが1冊できちんと身につく本[増補改訂版] [ 服部雄樹 ]
コメント