搜尋
首頁web前端html教學Bootsrtap表單的介紹與應用

Bootsrtap表單的介紹與應用

Jul 02, 2017 am 09:44 AM
表單

前面的話

  表單是用來與使用者做交流的一個網頁控件,良好的表單設計能夠讓網頁與使用者更好的溝通。表單中常見的元素主要包括:文字輸入框、下拉選擇框、單選按鈕、複選按鈕、文字網域和按鈕等。其中每個控制項所扮演的角色都各不相同,而且不同的瀏覽器對表單控制項渲染的風格都各有不同。

  同樣,表單也是Bootstrap框架中的核心內容,本文將詳細介紹Bootstrap的表單

基礎表單

  對於基礎表單,Bootstrap並未對其做太多的客製化效果設計,僅對表單內的fieldset、legend、label標籤進行了定制

fieldset 
{  min-width: 0;  padding: 0;  margin: 0;  border: 0;
}legend 
{  display: block;  width: 100%;  padding: 0;  margin-bottom: 20px;  font-size: 21px;  line-height: inherit;  color: #333;  border: 0;  border-bottom: 1px solid #e5e5e5;
}label 
{  display: inline-block;  margin-bottom: 5px;  font-weight: bold;
}

  主要將這些元素的margin、padding和border等進行了細化設定

  當然表單除了這幾個元素之外,還有input、select、textarea等元素,在Bootstrap框架中,透過客製化了一個類別名稱`form-control`,也就是說,如果這幾個元素使用了類別名稱“form-control”,將會實現一些設計上的客製化效果

  1、寬度變成了100%

  2、設定了一個淺灰色(#ccc )的邊框

  3、具有4px的圓角

#  4、設定陰影效果,且元素得到焦點之時,陰影和邊框效果會有所變化

  5 、設定了placeholder的顏色為#999


  
<input>   
  
<input>   
  
<input>

Example block-level help text here.

  
  
  
  

水平表單

  Bootstrap框架預設的表單是垂直顯示風格,但很多時候我們需要的水平表單風格

  透過為表單新增.form-horizo​​ntal 類,並聯合使用Bootstrap 預設的柵格類,可以將label 標籤和控制項組水平並排佈局。這樣做會改變.form-group 的行為,使其表現為柵格系統中的行(row),因此就無需再額外添加.row

  在

元素上使用類別名稱「form-horizo​​ntal」主要有以下幾個作用:

  1、設定表單控制項padding和margin值

  2、改變「form -group」的表現形式,類似於網格系統的「row」



  
  <input>
  
  
  <input>
  
  
  
  
  
  
  
  


##內聯表單

  有時候我們需要將表單的控制項都在一行內顯示。在Bootstrap框架中實現這樣的表單效果是輕而易舉的,只需要在
元素中加入類別名稱「form-inline」。內嵌表單實作原理非常簡單,欲將表單控制項在一行顯示,就需要將表單控制項設定成內聯區塊元素(display:inline-block)<p></p>  為
元素新增.form- inline 類別可使其內容左對齊並且表現為inline-block 層級的控制項。只適用於視窗(viewport)至少在768px 寬度時(視口寬度再小的話就會使表單折疊)<p></p>  在Bootstrap 中,輸入框和單選/多選框控制默認被設定為

width: 100%; 寬度。在內聯表單,我們將這些元素的寬度設為 width: auto;,因此,多個控制項可以排列在同一行。根據版面需求,可能需要一些額外的客製化元件

  如果沒有為每個輸入控制設定 

label 標籤,螢幕閱讀器將無法正確辨識。對於這些內嵌表單,可以透過為 label 設定 .sr-only 類別來隱藏。還有一些輔助技術提供label標籤的替代方案,例如 aria-labelaria-labelledby 或 title 屬性。如果這些都不存在,螢幕閱讀器可能會採取使用 placeholder 屬性,如果存在的話,使用佔位符來取代其他的標記,但要注意,這種方法是不妥當的


  
&lt;input&gt;   
  
&lt;input&gt;   
  



  
&lt;input&gt;   
  
&lt;input&gt;   
  
  
  


#

  
  
$
  &lt;input&gt;  
.00
  
  

表单控件

  每一个表单都是由表单控件组成。离开了控件,表单就失去了意义

【输入框】

  单行输入框,常见的文本输入框,也就是input的type属性值为text。在Bootstrap中使用input时也必须添加type类型,如果没有指定type类型,将无法得到正确的样式,因为Bootstrap框架都是通过input[type=“?”](其中?号代表type类型,比如说text类型,对应的是input[type=“text”])的形式来定义样式的

  包括大部分表单控件、文本输入域控件,还支持所有 HTML5 类型的输入控件: textpassworddatetimedatetime-localdatemonthtimeweeknumberemailurlsearchtelcolor

  为了让控件在各种表单风格中样式不出错,需要添加类名“form-control”

&lt;input&gt;

【下拉列表】

  Bootstrap框架中的下拉选择框使用和原始的一致,多行选择设置multiple属性的值为multiple。Bootstrap框架会为这些元素提供统一的样式风格 

  [注意]许多原生选择菜单 - 即在 Safari 和 Chrome 中 - 的圆角是无法通过修改 border-radius 属性来改变的

<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option></select>

【文本域】

  文本域和原始使用方法一样,设置rows可定义其高度,设置cols可以设置其宽度。但如果textarea元素中添加了类名“form-control”类名,则无需设置cols属性。因为Bootstrap框架中的“form-control”样式的表单控件宽度为100%或auto。 当然,也可以根据需要改变 rows 属性

<textarea></textarea>

【多选和单选框】

  多选框(checkbox)用于选择列表中的一个或多个选项,而单选框(radio)用于从多个选项中只选择一个

  Bootstrap框架中checkbox和radio有点特殊,Bootstrap针对他们做了一些特殊化处理,主要是checkbox和radio与label标签配合使用会出现一些小问题(最头痛的是对齐问题) 

  在Bootstrap框架中,主要借助“.checkbox”和“.radio”样式,来处理复选框、单选按钮与标签的对齐方式

  
  
  
  
  

  通过将 .checkbox-inline.radio-inline 类应用到一系列的多选框(checkbox)或单选框(radio)控件上,可以使这些控件排列在一行 


【静态控件】

  如果需要在表单中将一行纯文本和 label 元素放置于同一行,为 <p></p> 元素添加 .form-control-static 类即可


  
  

email@example.com

  
  
  &lt;input&gt;
  



  

email@example.com

  
  
&lt;input&gt;   
  

控件尺寸

  前面看到的表单控件都正常的大小。可以通过设置控件的height,line-height,padding和font-size等属性来实现控件的高度设置。不过Bootstrap框架还提供了两个不同的类名,用来控制表单控件的高度。这两个类名是:

  1、input-sm:让控件比正常大小更小

  2、input-lg:让控件比正常大小更大

  这两个类适用于表单中的input,textarea和select控件

&lt;input&gt;&lt;input&gt;&lt;input&gt;


  通过添加 .form-group-lg.form-group-sm 类,为 .form-horizontal 包裹的 label 元素和表单控件快速设置尺寸


  
  &lt;input&gt;
  
  
  &lt;input&gt;
  


  用栅格系统中的列(column)包裹输入框或其任何父元素,都可很容易的为其设置宽度

  
&lt;input&gt;   
  
&lt;input&gt;   
  
&lt;input&gt;   


 

控件状态

  表单主要用来与用户沟通,好的表单就能更好的与用户进行沟通,而好的表单一定离不开表单的控件状态。

  每一种表单状态都能给用户传递不同的信息,比如表单有焦点的状态可以告诉用户可以输入或选择东西,禁用状态可以告诉用户不可以输入或选择东西,还有就是表单控件验证状态,可以告诉用户的操作是否正确等。Bootstrap框架中的表单控件也具备这些状态

【焦点状态】

  焦点状态是通过伪类“:focus”来实现。Bootstrap框架中表单控件的焦点状态删除了outline的默认样式,重新添加阴影效果box-shadow

&lt;input&gt;


【禁用状态】

  Bootstrap框架的表单控件的禁用状态和普通的表单禁用状态实现方法是一样的,在相应的表单控件上添加属性“disabled”。和其他表单的禁用状态不同的是,Bootstrap框架做了一些样式风格的处理 ,被禁用的输入框颜色更浅,并且还添加了 not-allowed 鼠标状态

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
cursor: not-allowed;
background-color: #eee;
opacity: 1;
}
&lt;input&gt;


  在Bootstrap框架中,如果fieldset设置了disabled属性,整个域都将处于被禁用状态 

  [注意]对于整个禁用的域中,如果legend中有输入框的话,这个输入框是无法被禁用的

  
&lt;input&gt;
    &lt;input&gt;
    
  
  


【只读状态】

  为输入框设置 readonly 属性可以禁止用户修改输入框中的内容。处于只读状态的输入框颜色更浅(就像被禁用的输入框一样),但是仍然保留标准的鼠标状态

&lt;input&gt;


【校验状态】

   在制作表单时,不免要做表单验证。同样也需要提供验证状态样式,在Bootstrap框架中同样提供这几种效果

  1、.has-warning:警告状态(黄色)

  2、.has-error:错误状态(红色)

  3、.has-success:成功状态(绿色)

  使用的时候只需要在form-group容器上或在其父级容器上对应添加状态类名

     &lt;input&gt;   A block of help text that breaks onto a new line and may extend beyond one line.
     &lt;input&gt;
     &lt;input&gt;
  
  
  
  
  
  


  很多时候,在表单验证的时候,不同的状态会提供不同的 icon,比如成功是一个对号(√),错误是一个叉号(×)等。在Bootstrap框中也提供了这样的效果。如果想让表单在对应的状态下显示 icon 出来,只需要在对应的状态下添加类名“has-feedback”

  [注意]此类名要与“has-error”、“has-warning”和“has-success”在一起使用,且只能使用在文本输入框 <input class="form-control"> 元素上

     &lt;input&gt;      (success)
     &lt;input&gt;      (warning)
     &lt;input&gt;      (error)
     
@&lt;input&gt;   
     (success)


  当然,也可以为水平排列的表单和内联表单设置可选的图标


  
  &lt;input&gt;    (success)
  
  
  
@&lt;input&gt;  
    (success)
  



  
&lt;input&gt;(success)   
  
  @  &lt;input&gt;
(success)   


【提示信息】

  在制作表单验证时,要提供不同的提示信息。在Bootstrap框架中也提供了这样的效果。使用了一个"help-block"样式,将提示信息以块状显示,并且显示在控件底部。


  
&lt;input&gt;你输入的信息是正确的   
  
&lt;input&gt;请输入正确信息   
  
&lt;input&gt;你输入的信息是错误的     


 

按钮

  按钮是Bootstrap框架核心内容之一。因为按钮是Web制作中不可缺少的东西。而且不同的Web页面具有不同的按钮风格,甚至说同一个Web网站或应用程序具有多种按钮风格,比如说不同的按钮颜色、大小和状态等

【基本按钮】

  Bootstrap框架的基本按钮是通过类名“btn”来实现

<button>我是一个基本按钮</button>


【默认按钮】

  Bootstrap框架首先通过基础类名“.btn”定义了一个基础的按钮风格,然后通过“.btn-default”定义了一个默认的按钮风格。默认按钮的风格就是在基础按钮的风格的基础上修改了按钮的背景颜色、边框颜色和文本颜色

.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}


【按钮元素】

  可以为 <a></a><button></button> 或 &lt;input&gt; 元素添加按钮类(button class)即可使用 Bootstrap 提供的样式

  制作按钮通常使用下面代码来实现:

  ☑ input[type=“submit”]

  ☑ input[type=“button”]

  ☑ input[type=“reset”]

  ☑ <button></button>

  ☑ <a></a>

  当然了,还可以使用在其他的标签元素上,如

,只要在制作按钮的标签元素上添加类名“btn”即可

  虽然按钮类可以应用到其他元素上,但是,导航和导航条组件只支持 <button></button> 元素。如果 <a></a> 元素被作为按钮使用 -- 并用于在当前页面触发某些功能 -- 而不是用于链接其他页面或链接当前页面中的其他部分,那么,务必为其设置 role="button" 属性。所以,最佳实践是:强烈建议尽可能使用 <button></button> 元素来获得在各个浏览器上获得相匹配的绘制效果

&lt;input&gt;a标签按钮span标签按钮
div标签按钮


【按钮风格】

  在Bootstrap框架中除了默认的按钮风格之外,还有其他六种按钮风格,每种风格的其实都一样,不同之处就是按钮的背景颜色、边框颜色和文本颜色

  使用起来就很简单,就像前面介绍的默认按钮一样的使用方法,只需要在基础按钮“.btn”基础上追加对应的类名,就可以得到需要的按钮风格

<button>基础按钮.btn</button><button>默认按钮.btn-default</button><button>主要按钮.btn-primary</button><button>成功按钮.btn-success</button><button>信息按钮.btn-info</button><button>警告按钮.btn-warning</button><button>危险按钮.btn-danger</button><button>链接按钮.btn-link</button>


【按钮尺寸】

  使用 .btn-lg.btn-sm 或 .btn-xs 就可以获得不同尺寸的按钮

  通过给按钮添加 .btn-block 类可以将其拉伸至父元素100%的宽度,而且按钮也变为了块级(block)元素,并且这个按钮不会有任何的padding和margin值

<p>
  <button>(大按钮)Large button</button>
  <button>(大按钮)Large button</button></p><p>
  <button>(默认尺寸)Default button</button>
  <button>(默认尺寸)Default button</button></p><p>
  <button>(小按钮)Small button</button>
  <button>(小按钮)Small button</button></p><p>
  <button>(超小尺寸)Extra small button</button>
  <button>(超小尺寸)Extra small button</button></p><button>(块级元素)Block level button</button><button>(块级元素)Block level button</button>


【按钮状态】

  Bootstrap框架针对按钮的状态做了一些特殊处理。在Bootstrap框架中针对按钮的状态效果主要分为两种:活动状态和禁用状态。

  Bootstrap按钮的活动状态主要包括按钮的悬浮状态(:hover),点击状态(:active)和焦点状态(:focus)几种

  当按钮处于激活状态时,其表现为被按压下去(底色更深、边框夜色更深、向内投射阴影)。对于 <button></button> 元素,是通过:active状态实现的。对于<a></a>元素,是通过.active类实现的。然而,还可以将.active 应用到<button></button>上(包含 aria-pressed="true"属性)),并通过编程的方式使其处于激活状态

  由于 :active 是伪状态,因此无需额外添加,但是在需要让其表现出同样外观的时候可以添加 .active 类

<button>Button1</button><button>Button2</button><a>Link1</a><a>Link2</a>


  和input等表单控件一样,在Bootstrap框架的按钮中也具有禁用状态的设置。禁用状态与其他状态按钮相比,就是背景颜色的透明度做了一定的处理,opcity的值从100%调整为65%。

  在Bootstrap框架中,要禁用按钮有两种实现方式:

  方法1:在标签中添加disabled属性

  方法2:在元素标签中添加类名“disabled”

  两者的主要区别是:

  “.disabled”样式不会禁止按钮的默认行为,比如说提交和重置行为等。如果想要让这样的禁用按钮也能禁止按钮的默认行为,则需要通过JavaScript这样的语言来处理

  对于标签来说,它并不支持使用disable属性,只支持通过类名“.disable”来禁用按钮,可以禁止元素的链接跳转行为


 

以上是Bootsrtap表單的介紹與應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
HTML與CSS vs. JavaScript:比較概述HTML與CSS vs. JavaScript:比較概述Apr 16, 2025 am 12:04 AM

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。

HTML:是編程語言還是其他?HTML:是編程語言還是其他?Apr 15, 2025 am 12:13 AM

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增強WebevebDevelopment。

HTML:建立網頁的結構HTML:建立網頁的結構Apr 14, 2025 am 12:14 AM

HTML是構建網頁結構的基石。 1.HTML定義內容結構和語義,使用、、等標籤。 2.提供語義化標記,如、、等,提升SEO效果。 3.通過標籤實現用戶交互,需注意表單驗證。 4.使用、等高級元素結合JavaScript實現動態效果。 5.常見錯誤包括標籤未閉合和屬性值未加引號,需使用驗證工具。 6.優化策略包括減少HTTP請求、壓縮HTML、使用語義化標籤等。

從文本到網站:HTML的力量從文本到網站:HTML的力量Apr 13, 2025 am 12:07 AM

HTML是一種用於構建網頁的語言,通過標籤和屬性定義網頁結構和內容。 1)HTML通過標籤組織文檔結構,如、。 2)瀏覽器解析HTML構建DOM並渲染網頁。 3)HTML5的新特性如、、增強了多媒體功能。 4)常見錯誤包括標籤未閉合和屬性值未加引號。 5)優化建議包括使用語義化標籤和減少文件大小。

了解HTML,CSS和JavaScript:初學者指南了解HTML,CSS和JavaScript:初學者指南Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的角色:構建Web內容HTML的角色:構建Web內容Apr 11, 2025 am 12:12 AM

HTML的作用是通過標籤和屬性定義網頁的結構和內容。 1.HTML通過到、等標籤組織內容,使其易於閱讀和理解。 2.使用語義化標籤如、等增強可訪問性和SEO。 3.優化HTML代碼可以提高網頁加載速度和用戶體驗。

HTML和代碼:仔細觀察術語HTML和代碼:仔細觀察術語Apr 10, 2025 am 09:28 AM

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代碼” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代碼”代碼“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML,CSS和JavaScript:Web開發人員的基本工具HTML,CSS和JavaScript:Web開發人員的基本工具Apr 09, 2025 am 12:12 AM

HTML、CSS和JavaScript是Web開發的三大支柱。 1.HTML定義網頁結構,使用標籤如、等。 2.CSS控製網頁樣式,使用選擇器和屬性如color、font-size等。 3.JavaScript實現動態效果和交互,通過事件監聽和DOM操作。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),