この記事では主にフォームについて説明します。これはWebサイトを作成している人にとっては馴染みのないものであり、データを送信するために最もよく使用されるフォームと言えます。この記事では主に次の内容について説明します
1. 基本的なケース
2. インラインフォーム
3. 横に配置されたフォーム
4.サポートされているコントロール
5. 静的コントロール
6.制御ステータス
7. サイズの制御
8. ヘルプテキスト
基本的なケース
個々のフォーム コントロールには、いくつかのグローバル スタイルが自動的に割り当てられます。 .form-control が設定されているすべての 、
<form role="form"> <div class="form-group"> <label for="exampleInputEmail1">Email address</label> <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email"> </div> <div class="form-group"> <label for="exampleInputPassword1">Password</label> <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password"> </div> <div class="form-group"> <label for="exampleInputFile">File input</label> <input type="file" id="exampleInputFile"> <p class="help-block">Example block-level help text here.</p> </div> <div class="checkbox"> <label> <input type="checkbox"> Check me out </label> </div> <button type="submit" class="btn btn-default">Submit</button> </form>
両方のテキスト ボックスの幅は確かに 100% です。そして、3 つのフォーム グループがあります。
インラインフォーム
左揃えおよびインラインブロックレベルのコントロールに .form-inline を設定して、よりコンパクトに配置します。
幅を設定する必要があります: Bootstrap では、input、select、および textarea はデフォルトで 100% の幅に設定されます。インライン フォームを使用するには、使用しているフォーム コントロールに合わせて幅を設定する必要があります。
必ずラベルを設定してください: 各入力コントロールにラベルを設定しない場合、スクリーン リーダーはラベルを正しく読み取ることができません。これらのインライン フォームの場合、ラベルに .sr-only を設定することで非表示にできます。
<form class="form-inline" role="form"> <div class="form-group"> <label class="sr-only" for="exampleInputEmail2">Email address</label> <input type="email" class="form-control" id="exampleInputEmail2" placeholder="Enter email"> </div> <div class="form-group"> <label class="sr-only" for="exampleInputPassword2">Password</label> <input type="password" class="form-control" id="exampleInputPassword2" placeholder="Password"> </div> <div class="checkbox"> <label> <input type="checkbox"> Remember me </label> </div> <button type="submit" class="btn btn-default">Sign in</button> </form>
横配置フォーム
フォームに .form-horizontal を追加し、Bootstrap のプリセット グリッド クラスを使用すると、ラベルとコントロール グループを横に並べてレイアウトできます。これを行うと、.form-group の動作が変更され、グリッド システムの行のように動作するため、.row を使用する必要がなくなります。
<form class="form-horizontal" role="form"> <div class="form-group"> <label for="inputEmail3" class="col-sm-2 control-label">Email</label> <div class="col-sm-10"> <input type="email" class="form-control" id="inputEmail3" placeholder="Email"> </div> </div> <div class="form-group"> <label for="inputPassword3" class="col-sm-2 control-label">Password</label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword3" placeholder="Password"> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <div class="checkbox"> <label> <input type="checkbox"> Remember me </label> </div> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-default">Sign in</button> </div> </div> </form>
サポートされているコントロール
サポートされている標準フォーム コントロールは、フォーム レイアウトの場合に示されています。
入力
ほとんどのフォーム コントロールとテキスト入力フィールド コントロール。 HTML5 でサポートされているすべてのタイプが含まれます: テキスト、パスワード、日時、ローカル日時、日付、月、時刻、週、数値、電子メール、URL、検索、電話番号、および カラー。
注: タイプが正しく設定されている入力コントロールのみに、正しいスタイルを与えることができます。
テキストボックスの例
テキストエリア
複数行のテキストをサポートするフォーム コントロール。 rows 属性は必要に応じて変更できます。
<h1>textarea</h1> <textarea class="form-control" rows="3"></textarea>
チェックボックスとラジオ
チェックボックスはリスト内の 1 つ以上のオプションを選択するために使用されますが、ラジオは複数のオプションから 1 つのオプションだけを選択するために使用されます。
デフォルトの外観 (積み重ね)
<div class="checkbox"> <label> <input type="checkbox" value=""> Option one is this and that—be sure to include why it's great </label> </div> <div class="radio"> <label> <input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked> Option one is this and that—be sure to include why it's great </label> </div> <div class="radio"> <label> <input type="radio" name="optionsRadios" id="optionsRadios2" value="option2"> Option two can be something else and selecting it will deselect option one </label> </div>
インラインチェックボックス
.checkbox-inline または .radio-inline を一連のチェックボックスまたはラジオ コントロールに適用すると、これらのコントロールを一列に配置できます。
<label class="checkbox-inline"> <input type="checkbox" id="inlineCheckbox1" value="option1"> 1 </label> <label class="checkbox-inline"> <input type="checkbox" id="inlineCheckbox2" value="option2"> 2 </label> <label class="checkbox-inline"> <input type="checkbox" id="inlineCheckbox3" value="option3"> 3 </label>
同理Radio是一样的,只需要添加一下样式即可。
Select
<select class="form-control"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> <select multiple class="form-control"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select>
静态控件
在水平布局的表单中,如果需要将一行纯文本放置于label的同一行,为
元素添加.form-control-static即可。
<form class="form-horizontal" role="form"> <div class="form-group"> <label class="col-sm-2 control-label">Email</label> <div class="col-sm-10"> <p class="form-control-static">email@example.com</p> </div> </div> <div class="form-group"> <label for="inputPassword" class="col-sm-2 control-label">Password</label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword" placeholder="Password"> </div> </div> </form>
控件状态
通过为控件和label设置一些基本状态,可以为用户提供回馈。
输入焦点
我们移除了某些表单控件的默认outline样式,并对其:focus状态赋予了box-shadow样式。
被禁用的输入框
为输入框设置disabled属性可以防止用户输入,并能改变一点外观,使其更直观。
被禁用的fieldset
为