ホームページ >ウェブフロントエンド >jsチュートリアル >毎日学ぶ必要があるブートストラップ フォーム_JavaScript スキル
この記事では主にフォームについて説明します。これはWebサイトを作成している人にとっては馴染みのないものであり、データを送信するために最もよく使用されるフォームと言えます。この記事では主に次の内容について説明します
1. 基本的なケース
2. インラインフォーム
3. 横に配置されたフォーム
4.サポートされているコントロール
5. 静的コントロール
6.制御ステータス
7. サイズの制御
8. ヘルプテキスト
基本的なケース
個々のフォーム コントロールには、いくつかのグローバル スタイルが自動的に割り当てられます。 .form-control が設定されているすべての d5fd7aea971a85678ba271703566ebfd、7f67e9492dbdfb1194e0d30a1a6373e2 要素は、デフォルトで width: 100% に設定されます。ラベルと前述のコントロールを .form-group でラップすると、最適な配置が得られます。
<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的同一行,为e388a4556c0f65e1904146cc1a846bee元素添加.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
为2b5469ab79cf842344327415c3b3bb95设置disabled属性可以禁用2b5469ab79cf842344327415c3b3bb95中包含的所有控件。
3499910bf9dac5ae3c52d5ede7383485标签的链接功能不受影响
这个class只改变2028f277e9e2cf0c34aa62efa6967f4b按钮的外观,并不能禁用其功能。建议自己通过JavaScript代码禁用链接功能。
跨浏览器兼容性
虽然Bootstrap会将这些样式应用到所有浏览器上,Internet Explorer 9及以下浏览器中的2b5469ab79cf842344327415c3b3bb95并不支持disabled属性。因此建议在这些浏览器上通过JavaScript代码来禁用fieldset
<form role="form"> <fieldset disabled> <div class="form-group"> <label for="disabledTextInput">Disabled input</label> <input type="text" id="disabledTextInput" class="form-control" placeholder="Disabled input"> </div> <div class="form-group"> <label for="disabledSelect">Disabled select menu</label> <select id="disabledSelect" class="form-control"> <option>Disabled select</option> </select> </div> <div class="checkbox"> <label> <input type="checkbox"> Can't check this </label> </div> <button type="submit" class="btn btn-primary">Submit</button> </fieldset> </form>
可将鼠标移到各个控件上进行查看效果。
校验状态
Bootstrap对表单控件的校验状态,如error、warning和success状态,都定义了样式。使用时,添加.has-warning、.has-error或.has-success到这些控件的父元素即可。任何包含在此元素之内的.control-label、.form-control和.help-block都将接受这些校验状态的样式。
<div class="form-group has-success"> <label class="control-label" for="inputSuccess">Input with success</label> <input type="text" class="form-control" id="inputSuccess"> </div> <div class="form-group has-warning"> <label class="control-label" for="inputWarning">Input with warning</label> <input type="text" class="form-control" id="inputWarning"> </div> <div class="form-group has-error"> <label class="control-label" for="inputError">Input with error</label> <input type="text" class="form-control" id="inputError"> </div>
控件尺寸
通过.input-lg之类的class可以为控件设置高度,通过.col-lg-*之类的class可以为控件设置宽度。
高度尺寸
创建大一些或小一些的表单控件以匹配按钮尺寸。
<input class="form-control input-lg" type="text" placeholder=".input-lg"> <input class="form-control" type="text" placeholder="Default input"> <input class="form-control input-sm" type="text" placeholder=".input-sm"> <select class="form-control input-lg">...</select> <select class="form-control">...</select> <select class="form-control input-sm">...</select>
调整列尺寸
用栅格系统中的列包裹input或其任何父元素,都可很容易的为其设置宽度。
<div class="row"> <div class="col-xs-2"> <input type="text" class="form-control" placeholder=".col-xs-2"> </div> <div class="col-xs-3"> <input type="text" class="form-control" placeholder=".col-xs-3"> </div> <div class="col-xs-4"> <input type="text" class="form-control" placeholder=".col-xs-4"> </div> </div>
ヘルプテキスト
フォーム コントロールのブロックレベルのヘルプ テキスト。
詳細については、以下を参照してください:
Bootstrap フォーム (フォーム スタイル) の使用方法の包括的な分析
Bootstrap フォーム (フォーム コントロール) の使用方法の包括的な分析