5. ユーザ登録フォーム

フォーム作成

レスポンシブデザインに対応した、ユーザ登録フォーム画面を作成してみましょう。

PC

PC画面の場合は、テキストボックスが入力項目によって幅が違い、基本2列で作成します。

スマホ

スマホ画面の場合は、テキストボックスが1列ですべて同じ幅にします。

フォーム作成

Bootstrap5 CDN

Bootstrap5をCDNで読み込みます。

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
</head>

コンテナ作成

mainタグでコンテナを作成します。

<main class="container">

</main>

フォームタグ追加

h2タグでタイトルと、フォームタグを追加します。

<main class="container">
    <h2 class="text-center p-5">ユーザ登録</h2>

    <form action="" method="post">

    </form>

</main>

中央揃え

text-centerを設定すると、ブロック要素のコンテンツが中央揃えになります。

<h2 class="text-center p-5">ユーザ登録</h2>

行の追加

「row」クラスで行を追加します。

<main class="container">
    <h2 class="text-center p-5">ユーザ登録</h2>

    <form action="" method="post">
        <div class="row">

        </div>
    </form>

</main>

列の追加

「氏名」「Email」の入力欄を作成します。幅はそれぞれcol-md-6で設定して、2分割にします。また【登録】ボタンを追加して横幅いっぱいで表示します。

      <div class="row">
        <div class="col-md-6 mb-3">
          <label class="form-label" for="inputEmail">氏名</label>
          <span class="text-danger">*</span>
          <input type="text" class="form-control" name="name" id="inputName" placeholder="東京 太郎" required>
        </div>

        <div class="col-md-6 mb-3">
          <label class="form-label" for="inputEmail">Email</label>
          <span class="text-danger">*</span>
          <input type="email" class="form-control" name="email" id="inputEmail" placeholder="Email" required>
        </div>

        <div class="d-grid mb-3">
          <button class="btn btn-primary">登録</button>
        </div>
      </div>

入力必須

requiredプロパティを設定すると、入力必須になります。これはHTML 5で追加された機能です。

<input type="text" name="name" required>

文字色

「text-テーマ」クラスは文字色をテーマカラーで指定します。

<span class="text-テーマ">文字</span>

グリッドレイアウトの確認

PC用レイアウト

PC程度の幅の画面では、2カラムのグリッドレイアウトになります。

スマホ用レイアウト

スマホ程度の幅の画面では、1カラムのグリッドレイアウトになります。

演習

問題1

入力画面をすべて完成させましょう。

Bootstrap超入門