Bootstrap3.0學習第六輪:表單

2021-01-08 站長之家

上一篇:Bootstrap3.0學習第五輪:表格

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

本文主要來講解以下內容:

1.基本案例

2.內聯表單

3.水平排列的表單

4.被支持的控制項

5.靜態控制項

6.控制項狀態

7.控制項尺寸

8.幫助文本

9.總結

基本案例

單獨的表單控制項會被自動賦予一些全局樣式。所有設置了.form-control的<input>、<textarea>和<select>元素都將被默認設置為width: 100%;。將label和前面提到的這些控制項包裹在.form-group中可以獲得最好的排列。

<form role="form">

<div>

<label for="exampleInputEmail1">Email address</label>

<input type="email" id="exampleInputEmail1" placeholder="Enter email">

</div>

<div>

<label for="exampleInputPassword1">Password</label>

<input type="password" id="exampleInputPassword1" placeholder="Password">

</div>

<div>

<label for="exampleInputFile">File input</label>

<input type="file" id="exampleInputFile">

<p>Example block-level help text here.</p>

</div>

<div>

<label>

<input type="checkbox"> Check me out    </label>

</div>

<button type="submit">Submit</button>

</form>

兩個文本框的寬度的確為100%。並且有三個form-group。

內聯表單

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

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

一定要設置label:如果你沒有為每個輸入控制項設置label,屏幕閱讀器將無法正確識讀。對於這些內聯表單,你可以通過為label設置.sr-only已將其隱藏。

<form role="form">

<div>

<label for="exampleInputEmail2">Email address</label>

<input type="email" id="exampleInputEmail2" placeholder="Enter email">

</div>

<div>

<label for="exampleInputPassword2">Password</label>

<input type="password" id="exampleInputPassword2" placeholder="Password">

</div>

<div>

<label>

<input type="checkbox"> Remember me    </label>

</div>

<button type="submit">Sign in</button>

</form>

水平排列的表單

通過為表單添加.form-horizontal,並使用Bootstrap預置的柵格class可以將label和控制項組水平並排布局。這樣做將改變.form-group的行為,使其表現為柵格系統中的行(row),因此就無需再使用.row了。

<form role="form">

<div>

<label for="inputEmail3">Email</label>

<div>

<input type="email" id="inputEmail3" placeholder="Email">

</div>

</div>

<div>

<label for="inputPassword3">Password</label>

<div>

<input type="password" id="inputPassword3" placeholder="Password">

</div>

</div>

<div>

<div>

<div>

<label>

<input type="checkbox"> Remember me        </label>

</div>

</div>

</div>

<div>

<div>

<button type="submit">Sign in</button>

</div>

</div>

</form>

被支持的控制項

在表單布局案例中展示了其所支持的標準表單控制項。

Input

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

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

文本框示例

<input type="text" placeholder="Text input">

Textarea

支持多行文本的表單控制項。可根據需要改變rows屬性。

<h1>textarea</h1> <textarea rows="3"></textarea>

Checkbox 和 radio

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

默認外觀(堆疊在一起) <div>

<label>

<input type="checkbox" value="">    Option one is this and that&mdash;be sure to include why it's great

</label>

</div>

<div>

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

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

<input type="checkbox" id="inlineCheckbox1" value="option1"> 1

</label>

<label>

<input type="checkbox" id="inlineCheckbox2" value="option2"> 2

</label>

<label>

<input type="checkbox" id="inlineCheckbox3" value="option3"> 3

</label>

同理Radio是一樣的,只需要添加一下樣式即可。

Select <select>

<option>1</option>

<option>2</option>

<option>3</option>

<option>4</option>

<option>5</option>

</select>

<select multiple>

<option>1</option>

<option>2</option>

<option>3</option>

<option>4</option>

<option>5</option>

</select>

靜態控制項

在水平布局的表單中,如果需要將一行純文本放置於label的同一行,為<p>元素添加.form-control-static即可。

<form role="form">

<div>

<label>Email</label>

<div>

<p>email@example.com</p>

</div>

</div>

<div>

<label for="inputPassword">Password</label>

<div>

<input type="password" id="inputPassword" placeholder="Password">

</div>

</div>

</form>

控制項狀態

控制項狀態

通過為控制項和label設置一些基本狀態,可以為用戶提供回饋。

輸入焦點

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

<input id="focusedInput" type="text" value="This is focused...">

被禁用的輸入框

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

<input id="disabledInput" type="text" placeholder="Disabled input here..." disabled>

被禁用的fieldset

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

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

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

跨瀏覽器兼容性

雖然Bootstrap會將這些樣式應用到所有瀏覽器上,Internet Explorer 9及以下瀏覽器中的<fieldset>並不支持disabled屬性。因此建議在這些瀏覽器上通過JavaScript代碼來禁用fieldset

<form role="form">

<fieldset disabled>

<div>

<label for="disabledTextInput">Disabled input</label>

<input type="text" id="disabledTextInput" placeholder="Disabled input">

</div>

<div>

<label for="disabledSelect">Disabled select menu</label>

<select id="disabledSelect">

<option>Disabled select</option>

</select>

</div>

<div>

<label>

<input type="checkbox"> Can't check this

</label>

</div>

<button type="submit">Submit</button>

</fieldset>

</form>

可將滑鼠移到各個控制項上進行查看效果。

校驗狀態

Bootstrap對表單控制項的校驗狀態,如error、warning和success狀態,都定義了樣式。使用時,添加.has-warning、.has-error或.has-success到這些控制項的父元素即可。任何包含在此元素之內的.control-label、.form-control和.help-block都將接受這些校驗狀態的樣式。

<div>

<label for="inputSuccess">Input with success</label>

<input type="text" id="inputSuccess">

</div>

<div>

<label for="inputWarning">Input with warning</label>

<input type="text" id="inputWarning">

</div>

<div>

<label for="inputError">Input with error</label>

<input type="text" id="inputError">

</div>

控制項尺寸

通過.input-lg之類的class可以為控制項設置高度,通過.col-lg-*之類的class可以為控制項設置寬度。

高度尺寸

創建大一些或小一些的表單控制項以匹配按鈕尺寸。

<input type="text" placeholder=".input-lg">

<input type="text" placeholder="Default input">

<input type="text" placeholder=".input-sm">

<select>...</select>

<select>...</select>

<select>...</select>

調整列尺寸

用柵格系統中的列包裹input或其任何父元素,都可很容易的為其設置寬度。

<div>

<div>

<input type="text" placeholder=".col-xs-2">

</div>

<div>

<input type="text" placeholder=".col-xs-3">

</div>

<div>

<input type="text" placeholder=".col-xs-4">

</div>

</div>

幫助文本

用於表單控制項的塊級幫助文本。

<span>自己獨佔一行或多行的塊級幫助文本。</span>

總結

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

相關焦點

  • Bootstrap3.0學習第五輪:表格
    上一篇:Bootstrap3.0學習第四輪:排版 本文主要講解的是表格,這個其實對於做過網站的人來說,並不陌生,而且可以說是最為常用的各種列表的展示,有時候也會因為用戶或者老闆的需求而感到頭疼。下面我們來看一下,Bootstrap已經為我們準備那些類型的表格呢?
  • Bootstrap3.0學習第一輪:入門
    在上一節中Bootstrap3.0入門學習系列:學習從現在開始,主要是簡單的介紹了一下Bootstrap。從bootcss中文網的兩個版本文檔說明(Bootstrap2中文文檔和Bootstrap3中文文檔)中,可以看出這兩個版本的差別還是蠻大的。
  • Bootstrap3.0學習第七輪:按鈕
    上一篇:Bootstrap3.0學習第六輪:表單本文主要講解的是按鈕的樣式,主要包括:1.選項;2.尺寸;3.活動狀態;4.禁用狀態;5.可做按鈕使用的Html標籤;6.總結。
  • Bootstrap 3.2.0 發布,Web 前端 UI 框架
    最新的 Bootstrap 3.2.0 發布了,該版本主要新特性包括:等等,詳細介紹請看官方發行說明。
  • Bootstrap3.0學習第八輪:工具Class
    Bootstrap3.0學習第八輪:工具Class 上一篇:Bootstrap3.0學習第七輪:按鈕本文學習的內容主要如下所示:1.關閉按鈕;2.
  • 前端框架 Bootstrap 4.4.0 發布
    前端框架 Bootstrap 4.4.0 發布了,以下是更新內容: 新的響應式 .row-cols 類,用於快速指定跨斷點的列數 新的 escape-svg() 函數,可簡化用於表單等的嵌入式背景圖像
  • bootstrap css精簡專題及常見問題 - CSDN
    bootstrap 的學習非常簡單,並且它所提供的樣式又非常精美。只要稍微簡單的學習就可以製作出漂亮的頁面。bootstrap中文網:http://v3.bootcss.com/ bootstrap提供了三種類型的下載:   1、用於生產環境的bootstrap    編譯並壓縮後的CSS、JavaScript和字體文件。不包含文檔和源碼文件。
  • Bootstrap 開源 SVG 圖標庫 Bootstrap Icons - OSCHINA - 中文...
    Bootstrap 開源了首套 SVG 圖標庫 Bootstrap Icons,其團隊表示這是有史以來第一次擁有自己的圖標庫,此圖標庫起初專門針對其從表單控制項到導航等組件和文檔進行定製設計和構建查看 Bootstrap Icons »https://icons.getbootstrap.com/既然 Bootstrap Icons 是 SVG 圖標庫,因此它們可以快速
  • Bootstrap3.0學習第十輪:下拉菜單及按鈕組
    上一篇:Bootstrap3.0學習第九輪:CSS補充終於把前面關於Bootstrap CSS部分簡單的學習了一遍,應該忽視了比較多的細節問題。不過大部分的內容我都過了一遍,並且用代碼實現了一遍,而且看到了真是的效果。挺不錯的。
  • 前端框架 Bootstrap 4.4.0 發布了,以下是更新內容:
    前端框架 Bootstrap 4.4.0 發布了,以下是更新內容: 新的響應式 .row-cols 類,用於快速指定跨斷點的列數 新的 escape-svg() 函數,可簡化用於表單等的嵌入式背景圖像
  • 前端框架bootstrap和layui有什麼區別
    做前端的小夥伴肯定都用過或聽過Bootstrap和LayUi,小編我雖然不是專業的前端程式設計師,但是對於前端還是頗有研究,閒暇事情會經常研究各種前端框架的源碼,一來可以借鑑優秀框架的思想,二來可以順便學習可以提高自己,好了,不廢話了。
  • 從Bootstrap小白的角度,為Bootstrap初學者的學習建議與感悟
    只要我們掌握了HTML和CSS基礎的知識我們就可以一起學習Bootstrap了。2. 怎麼搭配Bootstrap的環境呢?/bootstrap-3.3.4/css/bootstrap.min.css" rel="stylesheet" /> <link href="../bootstrap-3.3.4/css/bootstrap-theme.min.css" rel="stylesheet" /> <!
  • Bootstrap 5 Alpha 3 發布
    Bootstrap 5 Alpha 3 版本現已發布,該版本對組件、實用程序、文檔、表單、JavaScript 等進行了大量更新。官方表示,這是一個較大的 Alpha 版本,並為第一個 Beta 版本做好了準備。
  • Bootstrap 3.3.0 發布,但重要的是Bootstrap 4
    Bootstrap 3.3.0 發布了!該版本包括 bug 修復,可訪問性的提升和文檔更新。超過 700 個提交,28 名貢獻者。
  • Bootstrap3.0學習第十二輪:導航、標籤、麵包屑導航
    上一篇:Bootstrap3.0學習第十一輪:輸入框組本文主要來講解以下內容:1.導航;2.標籤;3.麵包屑導航。導航Bootstrap中可用的導航有相似的標記,用基類.nav開頭,這是相似的部分。
  • bootstrap 的驗證、時間選擇器、模態框 部分問題
    一、使用bootstrapvalidator做校驗的時候會遇到這樣一個場景以及帶來的問題1、當你修改某個記錄的時候,記錄的主鍵值是作為隱藏的表單項進行提交的。這裡可能會遇到的問題就是,當你點擊按鈕觸發表單的驗證的時候,會提示沒有validate這個屬性或者堆棧深度達到最大值。
  • 前端框架 Bootstrap 5.0 alpha 發布 - OSCHINA - 中文開源技術...
    針對 5.0 版本的其他改進還包括有:新的 API、對網格系統的更改以及改進的文檔等。 具體更新內容分如下:新外觀以 v4.5.0 中文檔首頁的改進為基礎,並為其餘文檔提供了更新的外觀。文檔頁面不再全形顯示,以提高可讀性。此外,還升級了側邊欄,以使用可擴展部分(由 Collapse 插件提供支持)來實現更快的導航。
  • 推薦10 款基於 Bootstrap 框架的擴展
    它是一個CSS和HTML的集合,它使用了最新的瀏覽器技術,給你的Web開發提供了時尚的版式,表單,buttons,表格,網格系統等等。本文推薦 10 款基於 Bootstrap 框架的擴展,包括風格擴展以及功能方面的擴展:1.
  • Bootstrap3.0入門學習系列:學習從現在開始
    我也是最近才有所發現的,不過有更好的消息,在前兩天微軟發布的VS2013正式版中,也已經將BootStrap3.0的版本加入了額,連微軟都看到bootStrap的強大,而且它的確很不錯,所以我也不得不學習。Bootstrap深受廣大屌絲喜愛的原因到底是什麼呢?
  • 前端基礎:Bootstrap
    容易上手:只要您具備 HTML 和 CSS 的基礎知識,您就可以開始學習 Bootstrap。響應式設計:Bootstrap 的響應式 CSS 能夠自適應於臺式機、平板電腦和手機。它為開發人員創建接口提供了一個簡潔統一的解決方案。它包含了功能強大的內置組件,易於定製。它還提供了基於 Web 的定製。它是開源的。