1. 程式人生 > >深入理解BootStrap -- 表單5

深入理解BootStrap -- 表單5

前言

本文主要講解的是表單,這個其實對於做過網站的人來說,並不陌生,而且可以說是最為常用的提交資料的Form表單。本文主要來講解一下內容:

9.總結

基本案例

 單獨的表單控制元件會被自動賦予一些全域性樣式。所有設定了.form-control<input><textarea><select>元素都將被預設設定為width: 100%;。將label和前面提到的這些控制元件包裹在.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%。並且有三個form-group。

內聯表單

 為左對齊和inline-block級別的控制元件設定.form-inline,可以將其排布的更緊湊。

需要設定寬度:在Bootstrap中,input、select和textarea預設被設定為100%寬度。為了使用內聯表單,你需要專門為使用到的表單控制元件設定寬度。

一定要設定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">
    <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預置的柵格class可以將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>

被支援的控制元件

在表單佈局案例中展示了其所支援的標準表單控制元件。

Input

大部分表單控制元件、文字輸入域控制元件。包括HTML5支援的所有型別:textpassworddatetimedatetime-localdatemonthtimeweeknumberemailurlsearchtelcolor

注意:有正確設定了type的input控制元件才能被賦予正確的樣式。

文字框示例

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

Textarea

支援多行文字的表單控制元件。可根據需要改變rows屬性。

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

Checkbox 和 radio

Checkbox用於選擇列表中的一個或多個選項,而radio用於從多個選項中只選擇一個。

預設外觀(堆疊在一起)

<div class="checkbox">
  <label>
    <input type="checkbox" value="">
    Option one is this and that&mdash;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&mdash;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>

Inline checkboxes

通過將.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>

同理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的同一行,為<p>元素新增.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>

控制元件狀態

控制元件狀態

  通過為控制元件和label設定一些基本狀態,可以為使用者提供回饋。

  輸入焦點

  我們移除了某些表單控制元件的預設outline樣式,並對其:focus狀態賦予了box-shadow樣式。

<input class="form-control" id="focusedInput" type="text" value="This is focused...">

  被禁用的輸入框

   為輸入框設定disabled屬性可以防止使用者輸入,並能改變一點外觀,使其更直觀。

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

  被禁用的fieldset

  為<fieldset>設定disabled屬性可以禁用<fieldset>中包含的所有控制元件。

<a>標籤的連結功能不受影響

這個class只改變<a class="btn btn-default">按鈕的外觀,並不能禁用其功能。建議自己通過JavaScript程式碼禁用連結功能。

跨瀏覽器相容性

雖然Bootstrap會將這些樣式應用到所有瀏覽器上,Internet Explorer 9及以下瀏覽器中的<fieldset>並不支援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>

幫助文字

 用於表單控制元件的塊級幫助文字。

<span class="help-block">自己獨佔一行或多行的塊級幫助文字。</span>

總結

 本篇文章主要講解表單中各種控制元件的樣式控制。其中也有看到按鈕的簡單樣式使用,下一篇文章將重點來講解按鈕的樣式。

相關推薦

深入理解BootStrap -- 5

前言 本文主要講解的是表單,這個其實對於做過網站的人來說,並不陌生,而且可以說是最為常用的提交資料的Form表單。本文主要來講解一下內容: 9.總結 基本案例  單獨的表單控制元件會被自動賦予一些全域性樣式。所有設定了.form-control的&

深入理解Oracle(5):三大連線方式詳解之Hash Join的定義,原理,演算法,成本,模式和點陣圖

 Hash Join只能用於相等連線,且只能在CBO優化器模式下。相對於nested loop join,hash join更適合處理大型結果集        Hash Join的執行計劃第1個是hash表(build table),第2個探查表(probe table),

bootstrap-控件——輸入框input

bootstrap-表單控件——輸入框input1.運行效果如圖所示2.實現代碼如下<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Co

bootstrap-控件——選按鈕水平排列

bootstrap-表單控件——單選按鈕水平排列1.運行效果如圖所示2.實現代碼如下<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Co

bootstrap-控件——復選框checkbox和選擇按鈕radio

bootstrap-表單控件——復選框checkbox和單選擇按鈕radio1.運行效果如圖所示2.實現代碼如下<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-

bootstrap-控件——塊狀按鈕

bootstrap-表單控件——塊狀按鈕1.運行效果如圖所示2.實現代碼如下<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compat

bootstrap驗證插件

label validator email ref put ida 身份證驗證 prim note bootstrapvalidator源碼:https://github.com/nghuuphuoc/bootstrapvalidator boostrapvalidator

Bootstrap

只需要 文本 輸入 柵格 copy code orm block r12 Bootstrap 提供了下列類型的表單布局: 垂直表單(默認) -> 這個不好看,都是手機版了,PC版占一排不好看; 內聯表單 -> 我相信這個才是你想要的,PC版響應橫排,手機

bootstrap input group 輸入框內帶字符 加文字 符號

默認 amp 字符 orm -s 輸入框 style 輸入 code <div class="form-group" id=‘rule4‘ style=‘display:none;‘>

Bootstrap樣式

put set png tex leg label 數據庫 sel 樣式 <form class="form-horizontal" role="form"> <fieldset>

深入理解BootStrap Item1-- 列表組(list-group)

不足 post 很多 內容 nbsp 做了 pos 分享圖片 原理 class=”pull-right”:右對齊下拉菜單 list-group-item:列表組,控制列表,以及添加列表徽章 1、列表組 列表組是Bootstrap框架新增的一個組件,可以用來制作列表清單、垂

Bootstrap 和圖片

Bootstrap 表單和圖片 表單Bootstrap 提供了一些豐富的表單樣式供開發者使用。1.基本格式//實現基本的表單樣式<form><div class="form-group"><label>電子郵件</label><

Bootstrap

分享 local 大小 lis help tro TP rap label 在本章中,我們將學習如何使用 Bootstrap 創建表單。Bootstrap 通過一些簡單的 HTML 標簽和擴展的類即可創建出不同樣式的表單。 表單布局 Bootstrap 提供了下列類型的表單

bootstrapclass使用記錄

control 顯示 trap 網格 net lin -i 由於 持續更新 由於總是忘記表單的類的作用,故邊用邊記錄下來,持續更新 form-control 添加在<input>中,為表單控件增加樣式 control-label 添加在<label&

bootstrap的基本操作

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title&g

【學習筆記】 唐大仕—Java程式設計 第5深入理解Java語言之5.2 多型及虛方法呼叫

/** * 多型及虛方法呼叫 * @author cnRicky * @date 2018.11.7 */ 多型 多型(Polymorphism)是指一個程式中相同的名字表示不同的含義的情況 多型有兩種情形 編譯時多型:  *過載(Overload)(多個同名的不同方法)  *如 p.sayH

【學習筆記】 唐大仕—Java程式設計 第5深入理解Java語言之5.3 物件構造與初始化

物件構造與初始化 構造方法 構造方法(constructor) 物件都有構造方法 如果沒有,編譯器加一個default構造方法 抽象類(abstract)有沒有構造方法? 答案:抽象類也有構造方法。實際上,任何類都有自己的構造方法

【學習筆記】 唐大仕—Java程式設計 第5深入理解Java語言之5.4 物件清除與垃圾回收

/** * 物件清除與垃圾回收 * @author cnRicky * @date 2018.11.10 */ 物件清除與垃圾回收 物件清除 我們知道:new建立物件 那麼如何銷燬物件? Java中是自動清除 不需要使用delete等方法人為銷燬它

【學習筆記】 唐大仕—Java程序設計 第5深入理解Java語言之5.4 對象清除與垃圾回收

let 要求 什麽 jdk1 style 1.10 垃圾 ati 內存 /** * 對象清除與垃圾回收 * @author cnRicky * @date 2018.11.10 */ 對象清除與垃圾回收 對象清除 我們知道:new創建對象 那麽如何銷毀對象? Java

【學習筆記】 唐大仕—Java程式設計 第5深入理解Java語言之5.5 內部類與匿名類

/** * 內部類與匿名類 * @author cnRicky * @date 2018.11.10 */ 內部類與匿名類 內部類(inner class)是在其他類中的類 匿名類(anonymous class)是一種特殊的內部類,它沒有類名 內部類(Inner class)