DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 完全深入學習Bootstrap表單
完全深入學習Bootstrap表單
編輯:關於JavaScript     

前言:由於表單的元素比較多,因此將Bootstrap的表單單獨做個總結,表單作為Bootstrap的核心內容,主要功能是用來與用戶做交流的一個網頁控件,良好的表單設計能夠讓網頁與用戶更好的溝通。表單中常見的元素主要包括:文本輸入框、下拉選擇框、單選按鈕、復選按鈕、文本域和按鈕等。

一、基礎表單

<form role="form">
 <div class="form-group">
  <label for="exampleInputEmail1">郵箱:</label>
  <input type="email" class="form-control" id="exampleInputEmail1" placeholder="請輸入您的郵箱地址">
 </div>
 <div class="form-group">
  <label for="exampleInputPassword1">密碼</label>
  <input type="password" class="form-control" id="exampleInputPassword1" placeholder="請輸入您的郵箱密碼">
 </div>
 <button type="submit" class="btn btn-default">進入郵箱</button>
</form>

具體解釋:

(1)對於form標簽的role屬性,只是為了增強語義性,並無其他作用;

(2)給div設定.form-group類名,是為了讓每個輸入框上下間隔一定的距離,不然兩個就會挨著;

(3)還有label的for屬性和input的id必須同名,是為了標識它倆是一組,且當鼠標點擊label標簽時,光標會自動鎖定到輸入框,不用for屬性時也可這樣寫:<label>郵箱:<input type="email" class="form-control" placeholder="請輸入您的郵箱地址"> </label>,此時input的長度不是屏幕寬度;

(4)給form添加.form-control類:
1.寬度100%顯示;
2.設置了一個淺灰色(#ccc)的邊框;
3.具有4px的圓角;
4.設置陰影效果,並且元素得到聚焦時,陰影和邊框效果會有所變化;

二、水平表單(標簽在左,輸入框在右)

<form class="form-horizontal" role="form">
 <div class="form-group">
  <label for="inputEmail3" class="col-sm-2 control-label">郵箱</label>
  <div class="col-sm-10">
   <input type="email" class="form-control" id="inputEmail3" placeholder="請輸入您的郵箱地址">
  </div>
 </div>
 <div class="form-group">
  <label for="inputPassword3" class="col-sm-2 control-label">密碼</label>
  <div class="col-sm-10">
   <input type="password" class="form-control" id="inputPassword3" placeholder="請輸入您的郵箱密碼">
  </div>
 </div>
 <div class="form-group">
  <div class="col-sm-offset-2 col-sm-10">
   <button type="submit" class="btn btn-default">進入郵箱</button>
  </div>
 </div>
</form>

具體解釋:

在form標簽上使用類.form-horizontal主要有以下作用:
1、設置表單控件padding和margin值;
2、改變“form-group”的表現形式,類似於網格系統的“row”;
在使用時必須和網格系統配合使用,才能實現水平方向的效果,對於不同寬度的設備顯示不同的布局,使用時可以調節浏覽器的大小看不同的效果,當浏覽器大小小於某個值就會呈垂直顯示。

三、內聯表單(表單控件都在一行顯示)

<form class="form-inline" role="form">
 <div class="form-group">
  <label for="exampleInputEmail2">郵箱</label>
  <input type="email" class="form-control" id="exampleInputEmail2" placeholder="請輸入你的郵箱地址">
 </div>
 <div class="form-group">
  <label for="exampleInputPassword2">密碼</label>
  <input type="password" class="form-control" id="exampleInputPassword2" placeholder="請輸入你的郵箱密碼">
 </div>
 <button type="submit" class="btn btn-default">進入郵箱</button>
</form> 

具體解釋:
有時我們會用到在網頁頂部的導航欄輸入用戶名和密碼,這時就需要在一行顯示,此時給form標簽添加.form-inline類就可輕而易舉的實現;同時當改變顯示設備大小時就會自動發生換行,呈普通表單的樣式。

四、表單的基本元素

1、input元素:加上類.form-control就可以實現最基本的輸入框樣式

(1)基本輸入框

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

(2)比基本大的輸入框

<input type="text" class="form-control input-lg">

(3)比基本小的輸入框

<input type="text" class="form-control input-sm">

2、 textarea元素:加上類.form-control可以不用設置cols屬性值,此時標簽寬度為100%

<textarea rows="5" class="form-control">

3.、select元素:與原始一致,作為下拉選擇框,可以實現多行選擇和單行選擇,加上.form-control類只是為了同一風格

<select class="form-control"><option>222</option></select>

4.、復選框checkbox和單選按鈕radio:

(1)給checkbox和radio專門寫了.checkbox和.radio這兩個類,是為了解決對齊問題,下面的代碼是垂直顯示

 `<form role="form">
 <div class="checkbox">
  <label>
   <input type="checkbox" value="">
   踢足球
  </label>
 </div>
 <div class="checkbox">
  <label>
   <input type="checkbox" value="">
   打籃球
  </label>
 </div>
 <div class="radio">
  <label>
   <input type="radio" name="optionsRadios" id="optionsRadios1" value="love" checked>
   喜歡
  </label>
 </div>
  <div class="radio">
  <label>
   <input type="radio" name="optionsRadios" id="optionsRadios2" value="hate">
   不喜歡
  </label>
 </div> 
</form>   `

(2)復選框和單選框水平顯示,此時不需要.checkbox和.radio類,但是要配合.form-group類同時使用,給label標簽加上.check-inline或.radio-inline類即可

<form role="form">
 <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 class="radio-inline">
   <input type="radio" value="option1" name="sex">男性
  </label>
  <label class="radio-inline">
   <input type="radio" value="option2" name="sex">女性
  </label>
  <label class="radio-inline">
   <input type="radio" value="option3" name="sex">中性
  </label>
 </div>
</form>

五、表單的驗證

<form role="form">
 <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>
 <div class="form-group has-warning has-feedback">
  <label class="control-label" for="inputWarning1">警告狀態</label>
  <input type="text" class="form-control" id="inputWarning1" placeholder="警告狀態">
  <span class="help-block">請輸入正確信息</span>
  <span class="glyphicon glyphicon-warning-sign form-control-feedback"></span>
 </div>
 <div class="form-group has-error has-feedback">
  <label class="control-label" for="inputError1">錯誤狀態</label>
  <input type="text" class="form-control" id="inputError1" placeholder="錯誤狀態">
 <span class="help-block">你輸入的信息是錯誤的</span>  
  <span class="glyphicon glyphicon-remove form-control-feedback"></span> 
 </div>
</form>  

具體解釋:
給div加上不同的類,如.has-warning警告狀態,顯示為黃色,.has-error錯誤狀態,顯示為紅色,.has-success成功狀態,顯示為綠色;第一個span的.help-block為提示信息;第二個span加上後面的一長串類名,是為了在輸入框後面提示不同的圖標,其中.form-control-feedback必須和div的.has-feedback一同使用,不然圖標不能顯示在輸入框內部。

總結:以上介紹了表單的不同顯示樣式,以及表單的具體的一些標簽,個人覺得作為框架,最主要的是它的嵌套結構,在用時需要知道哪個標簽裡嵌套哪個標簽。想要不同的風格,可以加入自己的css樣式,總之靈活運用吧!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved