Bootstrap之表單
基礎表單
表單中常見的表單元素主要包括: 文本輸入框、 下拉選擇框、表單單選按鈕、表單復選按鈕、表單 文本域和 按鈕等。表單當然表單除了這幾個元素之外,表單還有input、表單select、表單textarea等元素,表單在Bootstrap框架中,表單通過定制了一個類名`form-control`,表單也就是表單說,如果這幾個元素使用了類名“form-control”,表單將會實現一些設計上的表單定制效果。
1、表單寬度變成了100%
2、設置了一個淺灰色(#ccc)的邊框
3、具有4px的圓角
4、設置陰影效果,并且元素得到焦點之時,陰影和邊框效果會有所變化
5、設置了placeholder的顏色為#999
注意:類名“ .form-control”是添加在 input、select上面的。只控制輸入框的樣式。
Bootstrap框架默認的表單是垂直顯示風格,但很多時候我們需要的水平表單風格(標簽居左,表單控件居右)見下圖。

<form class="form-horizontal" role="form"><div class="form-group"> <label for="inputEmail3" class="col-sm-2control-label">郵箱</label> <div class="col-sm-10"> <input type="email" class="form-control" id="inputEmail3" placeholder="請輸入您的郵箱地址"> </div></div>從上面可以看出水平表單的使用方法: 1. 為 form 增添 .form-horizontal 類。 2. 用一個 div.form-group 包裹 label 和 input 3. 為 label 增添 .col-sm-2 .control-label 4. 用一個 .col-sm-10 的div 包裹 input 5. 為 input 增添 form-control 類 在<form>元素上使用類名“form-horizontal”主要有以下幾個作用:
1、設置表單控件padding和margin值。
2、改變“form-group”的表現形式,類似于網格系統的“row”。 內聯表單有時候我們需要將表單的控件都在一行內顯示,類似這樣的:

<form class="form-inline"role="form"><div class="form-group"> <label class="sr-only" for="exampleInputEmail2">郵箱</label> <input type="email" class="form-control" id="exampleInputEmail2" placeholder="請輸入你的郵箱地址"></div>你或許會問,為什么添加了label標簽,而且沒有放置在”form-group”這樣的容器中,input也不會換行;還有label標簽沒顯示出來。如果你仔細看,在label標簽運用了一個類名“sr-only”,標簽沒顯示就是這個樣式將標簽隱藏了。 注意:那么Bootstrap為什么要這么做呢?這樣不是多此一舉嗎?其實不是的,如果沒有為輸入控件設置label標簽, 屏幕閱讀器將無法正確識別。這也是Bootstrap框架另一個優點之處,為殘障人員進行了一定的考慮。 除了checkbox和radio,每一個表單控件都用一個 div.form-group 包裹? 另外,對于內聯的 input checkbox radio 一個div.form-group 就包裹了所有要內聯的表單控件? 表單控件(輸入框input)單行輸入框,常見的文本輸入框,也就是 input的 type屬性值為 text。在Bootstrap中使用input時也必須添加type類型,如果沒有指定type類型,將無法得到正確的樣式,因為Bootstrap框架都是通過 input[type=“?”](其中?號代表type類型,比如說text類型,對應的是 input[type=“text”])的形式來定義樣式的。 表單控件(下拉選擇select)Bootstrap框架中的下拉選擇框使用和原始的一致,多行選擇設置 multiple屬性的值為 multiple。 表單控件(文本域textarea)文本域和原始使用方法一樣,設置 rows可定義其高度,設置 cols可以設置其寬度。但如果 textarea元素中添加了類名“ form-control”類名,則無需設置cols屬性。因為Bootstrap框架中的“form-control”樣式的表單控件寬度為 100%或 auto。所以為 input 增添 .form-control 后框的寬度到瀏覽器邊緣了。可以通過增添 .col-sm-數字 來縮短寬度? 表單控件(復選框checkbox和單選擇按鈕radio)Bootstrap框架中checkbox和radio有點特殊,Bootstrap針對他們做了一些特殊化處理,主要是checkbox和radio與label標簽配合使用會出現一些小問題(最頭痛的是對齊問題)。比如下面這樣:

2、checkbox 連同 label 標簽放置在一個名為“.checkbox”的div容器內
(2) radio連同label標簽放置在一個名為“.radio”的div容器內
在Bootstrap框架中,主要借助“.checkbox”和“.radio”樣式,來處理復選框、單選按鈕與標簽的對齊方式。
<div class="checkbox"><label><input type="checkbox" value="">記住密碼</label></div>
<div class="radio"><label><input type="radio" name="optionsRadios" id="optionsRadios2" value="hate">不喜歡</label></div>這樣就變成了:

1、如果checkbox需要水平排列,只需要在label標簽上添加類名“checkbox-inline”
2、如果radio需要水平排列,只需要在label標簽上添加類名“radio-inline”
<div class="form-group"> <label class="checkbox-inline"> <input type="checkbox" value="option1">游戲 </label> <label class="checkbox-inline"> <input type="checkbox" value="option2">攝影 </label> <label class="checkbox-inline"> <input type="checkbox" value="option3">旅游 </label> </div>上面代碼的顯示是:

<div class="form-group"> <label> <input type="checkbox" value="option1">游戲 </label> <label> <input type="checkbox" value="option2">攝影 </label> <label> <input type="checkbox" value="option3">旅游 </label> </div>上面代碼的顯示是:

按鈕也是表單重要控件之一,制作按鈕通常使用下面代碼來實現:
? input[type=“submit”]
? input[type=“button”]
? input[type=“reset”]
? <button>
在Bootstrap框架中的按鈕都是采用<button>來實現,注意button中也要有 type = "button"。

1、input-sm:讓控件比正常大小更小
2、input-lg:讓控件比正常大小更大
這兩個類適用于表單中的input,textarea和select控件。
<input class="form-control input-lg" type="text" placeholder="添加.input-lg,控件變大">然而, 不管是“input-sm”還是“input-lg”僅對控件高度做了處理。但往往很多時候,我們需要控件寬度也要做一定的變化處理。這個時候就要借住Bootstrap框架的 網格系統。
<div class="col-xs-4"> <input class="form-control input-lg" type="text" placeholder=".col-xs-4"> </div>表單控件狀態(焦點狀態)
表單狀態的作用:
每一種狀態都能給用戶傳遞不同的信息,比如表單有焦點的狀態可以告訴用戶可以輸入或選擇東西,禁用狀態可以告訴用戶不可以輸入或選擇東西,還有就是表單控件驗證狀態,可以告訴用戶的操作是否正確等。那么在Bootstrap框架中的表單控件也具備這些狀態。
要讓控件在焦點狀態下有上面樣式效果,需要給控件添加類名“form-control” 在Bootstrap框架中, file、 radio和 checkbox控件在焦點狀態下的效果也與普通的input控件不太一樣,主要是因為Bootstrap對他們做了一些特殊處理: 表單控件狀態(禁用狀態)Bootstrap框架的表單控件的禁用狀態和普通的表單禁用狀態實現方法是一樣的,在相應的表單控件上添加屬性“disabled”。 注意:要讓radio和checkbox默認被選中,是添加屬性"checked" 但是對于整個禁用的域中(即在fieldset中設置了disabled),如果legend中有輸入框的話,這個 輸入框是無法被禁用的<form role="form"><fieldset disabled><legend><input type="text" class="form-control" placeholder="顯然我顏色變灰了,但是我沒被禁用,不信?單擊試一下" /></legend> …</fieldset></form>表單控件狀態(驗證狀態)在制作表單時,不免要做表單驗證。同樣也需要提供驗證狀態樣式,在Bootstrap框架中同樣提供這幾種效果。
1、.has-warning:警告狀態(黃色)
2、.has-error:錯誤狀態(紅色)
3、.has-success:成功狀態(綠色)
注意:這個是在form-group容器上對應添加狀態類名的。<label>上加入class="control-label",同時也會把里面的label字體顏色改變。
<div class="form-group has-success"> <label class="control-label" for="inputSuccess1">成功狀態</label> <input type="text" class="form-control" id="inputSuccess1" placeholder="成功狀態" ></div>
<div class="form-group has-successhas-feedback"> <label class="control-label" for="inputSuccess1">成功狀態</label> <input type="text" class="form-control" id="inputSuccess1" placeholder="成功狀態" > <span class="glyphicon glyphicon-ok form-control-feedback"></span>注意:一定要在表單中添加最后的那個<span>,這個 span 有 3 個類。
<div class="form-group has-success has-feedback"> <label class="control-label" for="inputSuccess1">成功狀態</label> <input type="text" class="form-control" id="inputSuccess1" placeholder="成功狀態" > <span class="help-block">你輸入的信息是正確的</span> <span class="glyphicon glyphicon-ok form-control-feedback"></span></div>

<form role="form"><div class="form-group"><label class="control-label" for="inputSuccess1">成功狀態</label><div class="row"><div class="col-xs-6"><input type="text" class="form-control" id="inputSuccess1" placeholder="成功狀態" ></div><span class="col-xs-6 help-block">你輸入的信息是正確的</span></div></div></form>


<button class="btn btn-default"type="button">button標簽按鈕</button><input type="submit" class="btnbtn-default"value="input標簽按鈕"/><a href="##" class="btn btn-default">a標簽按鈕</a><span class="btn btn-default">span標簽按鈕</span><div class="btn btn-default">div標簽按鈕</div>注意:雖然在Bootstrap框架中使用任何標簽元素都可以實現按鈕風格,但個人并不建議這樣使用,為了避免瀏覽器兼容性問題,個人強烈建議使用button或a標簽來制作按鈕。 定制風格在Bootstrap框架中不同的按鈕風格都是通過不同的類名來實現,在使用過程中,開發者只需要選擇不同的類名即可:




在Bootstrap框架中,要禁用按鈕有兩種實現方式:
方法1:在標簽中添加disabled屬性
方法2:在元素標簽中添加類名“disabled”
兩者的主要區別是:
“.disabled”樣式不會禁止按鈕的默認行為,比如說提交和重置行為等。如果想要讓這樣的禁用按鈕也能禁止按鈕的默認行為,則需要通過JavaScript這樣的語言來處理。對于<a>標簽也存在類似問題,如果通過類名“.disable”來禁用按鈕,其鏈接行為是無法禁止。而在元素標簽中添加“disabled”屬性的方法是可以禁止元素的默認行為的。
圖像圖像在網頁制作中也是常要用到的元素,在Bootstrap框架中對于圖像的樣式風格提供以下幾種風格:
1、img-responsive:響應式圖片,主要針對于響應式設計
2、img-rounded:圓角圖片
3、img-circle:圓形圖片
4、img-thumbnail:縮略圖片
使用方法:
使用方法非常簡單,只需要在<img>標簽上添加對應的類名,如下代碼:
<img alt="140x140" src="http://placehold.it/140x140"><img class="img-rounded" alt="140x140" src="http://placehold.it/140x140"><img class="img-circle" alt="140x140" src="http://placehold.it/140x140"><img class="img-thumbnail" alt="140x140" src="http://placehold.it/140x140"><img class="img-responsive" alt="140x140" src="http://placehold.it/140x140">圖標
<span class="glyphicon glyphicon-okform-control-feedback"></span>使用方法: 1.不要和其他組件混合使用
圖標類不能和其它組件直接聯合使用。它們不能在同一個元素上與其他類共同存在。應該創建一個嵌套的
<span>
標簽,并將圖標類應用到這個 <span>
標簽上。 2.只對內容為空的元素起作用
圖標類只能應用在不包含任何文本內容或子元素的元素上。
。。。。 注意:把 Bootstrap 文件夾中的 fonts 文件夾放到CSS同級,不然圖標不會顯示。 文檔查看:http://v3.bootcss.com/components/作者:Bestend
來源鏈接:https://www.cnblogs.com/bestend/p/4453912.html