bootstrap——css樣式(四、表單)

1、表單基本用法

class 描述
.form-control input、textarea 和 select 元素都將被默認設置寬度屬性爲 width: 100%;
.form-group 將 label 元素和控件包裹在一起,實現很好的排列

這裏寫圖片描述

<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>

2、內聯表單

爲 form 元素添加 .form-inline 類可使其內容左對齊並且表現爲 inline-block 級別的控件。只適用於視口(viewport)至少在 768px 寬度時(視口寬度再小的話就會使表單摺疊)。
一定要添加 label 標籤
如果你沒有爲每個輸入控件設置 label 標籤,屏幕閱讀器將無法正確識別。對於這些內聯表單,你可以通過爲 label 設置 .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">
    <div class="input-group">
      <div class="input-group-addon">@</div>
      <input class="form-control" type="email" placeholder="Enter email">
    </div>
  </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>

3、水平排列的表單

通過爲表單添加 .form-horizontal 類,並聯合使用 Bootstrap 預置的柵格類,可以將 label 標籤和控件組水平並排佈局。這樣做將改變 .form-group 的行爲,使其表現爲柵格系統中的行(row),因此就無需再額外添加 .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>

4、輸入框

包括大部分表單控件、文本輸入域控件,還支持所有 HTML5 類型的輸入控件:
text、password、number、email、url、search、tel
datetime、datetime-local、date、month、time、week
color

<input type="text" class="form-control" placeholder="Text input">

5、文本域

<textarea class="form-control" rows="3"></textarea>

6、單選框

這裏寫圖片描述

<div class="radio">
    <label>
        <input type="radio" checked/> 
        this one is checked
    </label>
</div>
<div class="radio">
    <label>
        <input type="radio"/>
        this one is can be checked
    </label>
</div>
<div class="radio disabled">
    <label>
        <input type="radio" disabled/>
        this one is disabled
    </label>
</div>

7、多選框

這裏寫圖片描述

<div class="checkbox">
    <label>
        <input type="checkbox" checked/> 
        this one is checked
    </label>
</div>
<div class="checkbox">
    <label>
        <input type="checkbox" />
        this one is can be checked
    </label>
</div>
<div class="checkbox disabled">
    <label>
        <input type="checkbox" disabled />
        this one is disabled
    </label>
</div>

8、內聯單選和多選框

通過將 .checkbox-inline 或 .radio-inline 類應用到一系列的多選框(checkbox)或單選框(radio)控件上,可以使這些控件排列在一行。

這裏寫圖片描述

<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>

<label class="radio-inline">
  <input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1"> 1
</label>
<label class="radio-inline">
  <input type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2"> 2
</label>
<label class="radio-inline">
  <input type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3"> 3
</label>

9、下拉列表

使用默認選項或添加 multiple 屬性可以同時顯示多個選項。

這裏寫圖片描述


Copy
<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>

10、靜態控件

如果需要在表單中將一行純文本和 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 protected]</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>

11、被禁用的輸入框

爲輸入框設置 disabled 屬性可以防止用戶輸入,並能對外觀做一些修改,使其更直觀。

<input class="form-control" id="disabledInput" type="text" placeholder="Disabled input here..." disabled>

12、被禁用的 fieldset

爲fieldset設置 disabled 屬性,可以禁用 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>

13、只讀輸入框

爲輸入框設置 readonly 屬性可以禁止用戶輸入,並且輸入框的樣式也是禁用狀態。

<input class="form-control" type="text" placeholder="Readonly input here…" readonly>

14、添加額外的圖標

你還可以針對校驗狀態爲輸入框添加額外的圖標。只需設置相應的 .has-feedback 類並添加正確的圖標即可。

圖標、label 和輸入控件組
對於不帶有 label 標籤的輸入框以及右側帶有附加組件的輸入框組,需要手動爲其圖標定位。爲了讓所有用戶都能訪問你的網站,我們強烈建議爲所有輸入框添加 label 標籤。如果你不希望將 label 標籤展示出來,可以通過添加 sr-only 類來實現。如果的確不能添加 label 標籤,請調整圖標的 top 值。對於輸入框組,請根據你的實際情況調整 right 值。

這裏寫圖片描述

<div class="form-group has-success has-feedback">
    <label class="control-label" for="inputSuccess2">Input with success</label>
    <input type="text" class="form-control" id="inputSuccess2">
    <span class="glyphicon glyphicon-ok form-control-feedback"></span>
</div>
<form class="form-horizontal" role="form">
    <div class="form-group has-success has-feedback">
        <label class="control-label col-sm-3" for="inputSuccess3">Input with success</label>
        <div class="col-sm-9">
            <input type="text" class="form-control" id="inputSuccess3">
            <span class="glyphicon glyphicon-ok form-control-feedback"></span>
        </div>
    </div>
</form>
<form class="form-inline" role="form">
    <div class="form-group has-success has-feedback">
        <label class="control-label" for="inputSuccess4">Input with success</label>
        <input type="text" class="form-control" id="inputSuccess4">
        <span class="glyphicon glyphicon-ok form-control-feedback"></span>
    </div>
</form>

15、控件尺寸

通過 .input-lg 類似的類可以爲控件設置高度,通過 .col-lg-* 類似的類可以爲控件設置寬度。

1)高度尺寸
.input-lg
.input-md
.input-sm
.input-xs

<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>

2)水平排列的表單組的尺寸

.form-group-lg
.form-group-md
.form-group-sm
.form-group-xs

<div class="form-group form-group-lg">
  <label class="col-sm-2 control-label" for="formGroupInputLarge">Large label</label>
  <div class="col-sm-10">
    <input class="form-control" type="text" id="formGroupInputLarge" placeholder="Large input">
  </div>
</div>

16、輔助文本

<span class="help-block">A block of help text that breaks onto a new line and may extend beyond one line.</span>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章