Bootstrap表單控件是一種擴(kuò)展了我們用類重置的表單樣式的工具,它提供了許多用于自定義顯示的選項(xiàng),以便在瀏覽器和設(shè)備之間實(shí)現(xiàn)更一致的呈現(xiàn)。這些控件包括文本輸入框、文本區(qū)域、復(fù)選框、單選按鈕和下拉菜單等,它們都可以通過(guò)Bootstrap的樣式進(jìn)行定制和擴(kuò)展。
一、示例
下面是一個(gè)演示 Bootstrap 表單樣式的簡(jiǎn)單示例。
<form> <div class="form-group"> <label for="exampleInputEmail1">Email address</label> <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp"> <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small> </div> <div class="form-group"> <label for="exampleInputPassword1">Password</label> <input type="password" class="form-control" id="exampleInputPassword1"> </div> <div class="form-group 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>
二、表單控件
文本表單控件(如<input>、<select> 和<textarea>)使用.form-control類設(shè)置樣式。包括一般外觀、焦點(diǎn)狀態(tài)、大小等樣式。
<form> <div class="form-group"> <label for="exampleFormControlInput1">Email address</label> <input type="email" class="form-control" id="exampleFormControlInput1" placeholder="name@example.com"> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Example select</label> <select class="form-control" id="exampleFormControlSelect1"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> </div> <div class="form-group"> <label for="exampleFormControlSelect2">Example multiple select</label> <select multiple class="form-control" id="exampleFormControlSelect2"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Example textarea</label> <textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea> </div> </form>
對(duì)于文件輸入,請(qǐng)將 for ..form-control.form-control-file
<form> <div class="form-group"> <label for="exampleFormControlFile1">Example file input</label> <input type="file" class="form-control-file" id="exampleFormControlFile1"> </div> </form>
三、大小
使用諸如.form-control-lg 和 .form-control-sm之類的類設(shè)置高度。
<input class="form-control form-control-lg" type="text" placeholder=".form-control-lg"> <input class="form-control" type="text" placeholder="Default input"> <input class="form-control form-control-sm" type="text" placeholder=".form-control-sm">
<select class="form-control form-control-lg"> <option>Large select</option> </select> <select class="form-control"> <option>Default select</option> </select> <select class="form-control form-control-sm"> <option>Small select</option> </select>
四、只讀
在輸入上添加readonly 屬性以防止修改輸入的值。只讀輸入看起來(lái)更輕(就像禁用的輸入一樣),但保留標(biāo)準(zhǔn)光標(biāo)
<input class="form-control" type="text" placeholder="Readonly input here..." readonly>
五、只讀純文本
如果要將表單中的<input readonly> 元素設(shè)置為純文本樣式,請(qǐng)使用.form-control-plaintext純文本類刪除默認(rèn)表單字段樣式并保留正確的邊距和填充。
<form> <div class="form-group row"> <label for="staticEmail" class="col-sm-2 col-form-label">Email</label> <div class="col-sm-10"> <input type="text" readonly class="form-control-plaintext" id="staticEmail" value="email@example.com"> </div> </div> <div class="form-group row"> <label for="inputPassword" class="col-sm-2 col-form-label">Password</label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword"> </div> </div> </form>
<form class="form-inline"> <div class="form-group mb-2"> <label for="staticEmail2" class="sr-only">Email</label> <input type="text" readonly class="form-control-plaintext" id="staticEmail2" value="email@example.com"> </div> <div class="form-group mx-sm-3 mb-2"> <label for="inputPassword2" class="sr-only">Password</label> <input type="password" class="form-control" id="inputPassword2" placeholder="Password"> </div> <button type="submit" class="btn btn-primary mb-2">Confirm identity</button> </form>
六、范圍輸入
使用.form-control-range可以設(shè)置水平滾動(dòng)的范圍輸入。
<form> <div class="form-group"> <label for="formControlRange">Example Range input</label> <input type="range" class="form-control-range" id="formControlRange"> </div> </form>
七、復(fù)選框和單選按鈕
默認(rèn)復(fù)選框和單選按鈕在.form-check的幫助下得到了改進(jìn),這兩種輸入類型的單個(gè)類改進(jìn)了其 HTML 元素的布局和行為。
1、默認(rèn)
默認(rèn)情況下,任意數(shù)量的直系同級(jí)復(fù)選框和無(wú)線電都將垂直堆疊,并用.form-check適當(dāng)間隔。
<div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="defaultCheck1"> <label class="form-check-label" for="defaultCheck1"> Default checkbox </label> </div> <div class="form-check"> <input class="form-check-input" type="checkbox" value="" id="defaultCheck2" disabled> <label class="form-check-label" for="defaultCheck2"> Disabled checkbox </label> </div>
<div class="form-check"> <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios1" value="option1" checked> <label class="form-check-label" for="exampleRadios1"> Default radio </label> </div> <div class="form-check"> <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios2" value="option2"> <label class="form-check-label" for="exampleRadios2"> Second default radio </label> </div> <div class="form-check"> <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios3" value="option3" disabled> <label class="form-check-label" for="exampleRadios3"> Disabled radio </label> </div>
2、內(nèi)嵌
通過(guò)將復(fù)選框或單選按鈕添加到任何 .form-check-inline.form-check。
<div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1"> <label class="form-check-label" for="inlineCheckbox1">1</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" id="inlineCheckbox2" value="option2"> <label class="form-check-label" for="inlineCheckbox2">2</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" id="inlineCheckbox3" value="option3" disabled> <label class="form-check-label" for="inlineCheckbox3">3 (disabled)</label> </div>
<div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1"> <label class="form-check-label" for="inlineRadio1">1</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2"> <label class="form-check-label" for="inlineRadio2">2</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3" disabled> <label class="form-check-label" for="inlineRadio3">3 (disabled)</label> </div>
3、無(wú)標(biāo)簽
添加到?jīng)]有任何標(biāo)簽文本的輸入中。請(qǐng)記住,仍要為輔助技術(shù)提供某種形式的輔助名稱(例如,使用.position-static.form-checkaria-label)。
<div class="form-check"> <input class="form-check-input position-static" type="checkbox" id="blankCheckbox" value="option1" aria-label="..."> </div> <div class="form-check"> <input class="form-check-input position-static" type="radio" name="blankRadio" id="blankRadio1" value="option1" aria-label="..."> </div>