Bootstrap Forms: A Comprehensive Guide for Beginners
こんにちは、Web開発を目指す皆さん!コンピュータサイエンスの教師として多くの経験を持つ私は、Bootstrapフォームの素晴らしい世界案内をお手伝いします。プログラミングが初めての方でも心配しないでください。基本から始めて、少しずつ進んでいきます。このチュートリアルが終わる頃には、プロのようにフォームを作成できるようになるでしょう!
Bootstrap Formsの紹介
まず、フォームがなぜ重要なのか話しましょう。コーヒーショップでバリスタがあなたに注文を聞くと想像してみてください。ウェブサイト上のフォームも基本的に同じことをしています。ユーザーから情報を収集します。私たちの近所の親切なCSSフレームワーク、Bootstrapを使えば、これらのフォームを作成するのは簡単です!
基本的なフォーム
簡単なフォームから始めましょう。以下は基本的な例です:
<form>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
<div id="emailHelp" class="form-text">We'll never share your email with anyone else.</div>
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Password</label>
<input type="password" class="form-control" id="exampleInputPassword1">
</div>
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck1">
<label class="form-check-label" for="exampleCheck1">Check me out</label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
これを分解してみましょう:
-
<form>
タグは全文のフォームを囲みます。 - 各フォーム要素は、クラス
mb-3
を持つ<div>
で囲まれています。これはマージンを設定しています。 -
<label>
タグを使って各入力を説明します。 -
<input>
要素にはクラスform-control
が付いており、Bootstrapのスタイルが適用されます。 - チェックボックスと送信ボタンを含んでいます。
ウェブ開発は練習次第です。これを自分でタイピングして、ブラウザでどのように見えるか確認してみてください!
フォームコントロール
Bootstrapはさまざまなフォームコントロールを提供しています。以下にいくつかの一般的なものを示します:
コントロール | HTMLタグ | Bootstrapクラス |
---|---|---|
テキスト入力 | <input type="text"> |
form-control |
パスワード | <input type="password"> |
form-control |
<input type="email"> |
form-control |
|
テキストエリア | <textarea> |
form-control |
チェックボックス | <input type="checkbox"> |
form-check-input |
ラジオボタン | <input type="radio"> |
form-check-input |
セレクト | <select> |
form-select |
無効化されたフォーム
時々、特定のフォーム要素を無効化したい場合があります。Bootstrapはこれを簡単にします:
<form>
<fieldset disabled>
<div class="mb-3">
<label for="disabledTextInput" class="form-label">Disabled input</label>
<input type="text" id="disabledTextInput" class="form-control" placeholder="Disabled input">
</div>
<div class="mb-3">
<label for="disabledSelect" class="form-label">Disabled select menu</label>
<select id="disabledSelect" class="form-select">
<option>Disabled select</option>
</select>
</div>
<div class="mb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="disabledFieldsetCheck" disabled>
<label class="form-check-label" for="disabledFieldsetCheck">
Can't check this
</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</fieldset>
</form>
この例では、フォーム要素を<fieldset>
タグで囲み、disabled
属性を追加しています。これにより、内部的なすべてのフォーム要素が無効化されます。また、個々の要素を無効化するには、disabled
属性を追加することもできます。
アクセシビリティ
アクセシビリティはウェブ開発において非常に重要です。障碍を持つ人々を含むすべての人々があなたのウェブサイトを使えるようにする確保します。フォームをよりアクセシブルにするためのいくつかのヒントを以下に示します:
- 正しいラベリングを使用する:常に
<label>
タグを使い、for
属性を使って入力と結びつけます。
<label for="username">Username:</label>
<input type="text" id="username" name="username">
- 明確な指示を提供する:
aria-describedby
を使って入力に説明をリンクします。
<label for="password">Password:</label>
<input type="password" id="password" name="password" aria-describedby="passwordHelpBlock">
<div id="passwordHelpBlock" class="form-text">
Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.
</div>
-
fieldset
とlegend
を使って関連する入力をグループ化します:
<fieldset>
<legend>Choose your favorite monster</legend>
<div>
<input type="radio" id="kraken" name="monster">
<label for="kraken">Kraken</label>
</div>
<div>
<input type="radio" id="sasquatch" name="monster">
<label for="sasquatch">Sasquatch</label>
</div>
</fieldset>
アクセシビリティはただの「良くて済む」ものではありません。障碍を持たない人々すべてが使えるウェブサイトを作成するために不可欠です。
結論
そしてここまでが、Bootstrapフォームの基本です。簡単な入力からアクセシビリティまで、さまざまなことをカバーしました。ウェブ開発をマスターする鍵は練習です。これらの例を試してみて、自分自身の素晴らしいフォームを作成してみてください!
いつも生徒たちに言っていますが、コーディングは料理みたいなものです。最初はごちゃつくかもしれませんが、練習を重ねれば、すぐに美食級のウェブサイトを作れるようになります。コーディングを楽しんで、楽しみながら進んでください!
Credits: Image by storyset