【初心者向け】HTMLフォームの作り方とCSSでのスタイリング基本ガイド

cssのformデザインの基本 HTML/CSS入門

「お問い合わせページを作りたい」「名前やメールアドレスを入力してもらいたい」――
そんなときに使うのがHTMLフォームです。

HTMLでは、<form>タグを使って、ユーザーから情報を受け取るための入力欄を作ることができます。
入力欄(<input>)、メッセージボックス(<textarea>)、送信ボタン(<button>)など、決まったタグを組み合わせるだけで簡単に作成可能です。

さらに、CSSを使ってデザインを整えれば、見た目がきれいで使いやすいフォームに仕上がります。

この記事では、以下の内容を初心者向けにやさしく解説していきます。

  • フォームの基本構造(form / input / textarea / button)
  • よくある入力パターンの作り方
  • CSSによるスタイリングの基本
  • エラーを防ぐちょっとした工夫

「フォームって難しそう…」と思っている方も、この記事を読めばきっと自分で作れるようになりますよ!

フォームを作るには、全体を<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で見た目よく整える方法を紹介していきます。

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に背景色と余白をつけると「囲み感」が出て親切
  • inputtextareawidth: 100%にすると揃って見やすい
  • ボタンにホバー効果をつけると「押せそう感」が出る

フォームを作っていると、**「あれ?思った通りに動かない…」**という場面に出くわすことがあります。
ここでは、初心者がつまずきやすいエラーやトラブルと、その対処法をまとめました。

❓ ボタンを押しても何も起きない

✅ 原因:

  • <form>タグのaction属性が空 or 未設定
  • まだ送信先のURLが用意されていない

💡 対処法:

  • とりあえず動作確認したい場合は、action="#"と書いておけばOK
  • JavaScriptで処理する場合も、action="#"onsubmit="return false;"を使うことが多い

❓ 入力欄の幅がバラバラになる

✅ 原因:

  • CSSでwidthが指定されていない or 初期値のまま

💡 対処法:

  • input, textareawidth: 100%; を指定するだけで解決!

❓ ラベルと入力欄の間隔が不自然

✅ 原因:

  • 改行がなくて詰まって見える
  • labelinputに余白が設定されていない

💡 対処法:

  • <br>タグで改行を入れる or CSSでmarginpaddingを追加して調整する

フォームは、ユーザーとサイトをつなぐ大事な入り口
名前・メール・メッセージなど、ユーザーから情報を受け取るために欠かせません。

✅ この記事で学んだこと

  • HTMLの基本タグ(form, input, textarea, button)を使えば、シンプルな入力フォームを作れる
  • CSSを使えば、フォーム全体を見やすく・使いやすくデザインできる
  • widthmarginなどのスタイル調整で、見た目のバランスが良くなる
  • よくあるトラブル(送信できない、ラベルと欄がズレる)も、少しの工夫で回避できる

フォームが作れるようになったら、
次は**レスポンシブ対応(スマホ表示)やバリデーション(入力チェック)**にもチャレンジしてみましょう!


HTML,CSSを学ぶ方々におすすめの書籍です。

僕自身、様々なプログラミングの本を購入しましたが、こちらの[HTML&CSSとWebデザインが1冊できちんと身につく本]が一番わかりやすく、一冊で基本を一通り学べる内容になっています。


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

コメント

タイトルとURLをコピーしました