搜索
首页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-horizontal 类,并联合使用 Bootstrap 预置的栅格类,可以将 label 标签和控件组水平并排布局。这样做将改变 .form-group 的行为,使其表现为栅格系统中的行(row),因此就无需再额外添加 .row

  在

元素上使用类名“form-horizontal”主要有以下几个作用:

  1、设置表单控件padding和margin值

  2、改变“form-group”的表现形式,类似于网格系统的“row”



  
  <input>
  
  
  <input>
  
  
  
  
  
  
  
  


 

内联表单

  有时候我们需要将表单的控件都在一行内显示。在Bootstrap框架中实现这样的表单效果是轻而易举的,只需要在

元素中添加类名“form-inline”即可。内联表单实现原理非常简单,欲将表单控件在一行显示,就需要将表单控件设置成内联块元素(display:inline-block)

  为

元素添加 .form-inline 类可使其内容左对齐并且表现为 inline-block 级别的控件。只适用于视口(viewport)至少在 768px 宽度时(视口宽度再小的话就会使表单折叠)

  在 Bootstrap 中,输入框和单选/多选框控件默认被设置为 width: 100%; 宽度。在内联表单,我们将这些元素的宽度设置为 width: auto;,因此,多个控件可以排列在同一行。根据布局需求,可能需要一些额外的定制化组件

  如果没有为每个输入控件设置 label 标签,屏幕阅读器将无法正确识别。对于这些内联表单,可以通过为 label 设置 .sr-only 类将其隐藏。还有一些辅助技术提供label标签的替代方案,比如 aria-labelaria-labelledby 或 title 属性。如果这些都不存在,屏幕阅读器可能会采取使用 placeholder 属性,如果存在的话,使用占位符来替代其他的标记,但要注意,这种方法是不妥当的



  
<input>   
  
<input>   
  



  
<input>   
  
<input>   
  
  
  



  
  
$
  <input>  
.00
  
  

表单控件

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

【输入框】

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

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

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

<input>

【下拉列表】

  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标签对Web开发很重要?为什么HTML标签对Web开发很重要?May 02, 2025 am 12:03 AM

htmltagsareessentialforwebdevelopmentastheyandendenhancewebpages.1)heSdefinElayout,语义和互动性。2)SemantictagsiCtagSimproveCacsibilitieAndseo.3)pose poseriblesibilityAndseoandseo.3)poser

说明将一致的编码样式用于HTML标签和属性的重要性。说明将一致的编码样式用于HTML标签和属性的重要性。May 01, 2025 am 12:01 AM

一致的HTML编码风格很重要,因为它提高了代码的可读性、可维护性和效率。1)使用小写标签和属性,2)保持一致的缩进,3)选择并坚持使用单引号或双引号,4)避免在项目中混合使用不同风格,5)利用自动化工具如Prettier或ESLint来确保风格的一致性。

如何在 Bootstrap 4 中实现多项目轮播?如何在 Bootstrap 4 中实现多项目轮播?Apr 30, 2025 pm 03:24 PM

在Bootstrap4中实现多项目轮播的解决方案在Bootstrap4中实现多项目轮播并不是一件简单的事情。虽然Bootstrap...

deepseek官网是如何实现鼠标滚动事件穿透效果的?deepseek官网是如何实现鼠标滚动事件穿透效果的?Apr 30, 2025 pm 03:21 PM

如何实现鼠标滚动事件穿透效果?在我们浏览网页时,经常会遇到一些特别的交互设计。比如在deepseek官网上,�...

HTML 视频的播放控件样式怎么修改HTML 视频的播放控件样式怎么修改Apr 30, 2025 pm 03:18 PM

无法直接通过CSS修改HTML视频的默认播放控件样式。1.使用JavaScript创建自定义控件。2.通过CSS美化这些控件。3.考虑兼容性、用户体验和性能,使用库如Video.js或Plyr可简化过程。

在手机上使用原生select会带来哪些问题?在手机上使用原生select会带来哪些问题?Apr 30, 2025 pm 03:15 PM

在手机上使用原生select的潜在问题在开发移动端应用时,我们常常会遇到选择框的需求。通常情况下,开发者倾...

在手机上使用原生select的弊端是什么?在手机上使用原生select的弊端是什么?Apr 30, 2025 pm 03:12 PM

在手机上使用原生select的弊端是什么?在移动设备上开发应用时,选择合适的UI组件是非常重要的。许多开发者�...

如何使用Three.js和Octree优化房间内第三人称漫游的碰撞处理?如何使用Three.js和Octree优化房间内第三人称漫游的碰撞处理?Apr 30, 2025 pm 03:09 PM

使用Three.js和Octree优化房间内第三人称漫游的碰撞处理在Three.js中使用Octree实现房间内的第三人称漫游并添加碰�...

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脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。