`
郑云飞
  • 浏览: 813788 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

bootstrap之表单

 
阅读更多

关于作者:

  • 郑云飞, 程序员Java(web前端,web后端,oracle数据库or mysql数据库)
  • 艺名:天放
  • weibo:@tianFang
  • blog: zhengyunfei.iteye.com
  • email: zhengyunfei8@gmail.com

本文主要讲解的是表单,这个其实对于做过网站的人来说,并不陌生,而且可以说是最为常用的提交数据的Form表单。

本文主要来讲解以下内容:

1.基本案例

2.内联表单

3.水平排列的表单

4.被支持的控件

5.静态控件

6.控件状态

7.控件尺寸

8.帮助文本

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支持的所有类型:text、password、datetime、datetime-local、date、month、time、week、number、email、url、search、tel和color。

注意:有正确设置了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@example.com</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>

总结

本篇文章主要讲解表单中各种控件的样式控制。其中也有看到按钮的简单样式使用,下一篇文章将重点来讲解按钮的样式。

分享到:
评论

相关推荐

    8.bootstrap之表单下.wmv

    bootstrap是一个基于html、css、javascript的响应式的移动端优先的前端框架。使用起来非常方便、学习较为简单。

    8.bootstrap之表单上.wmv

    bootstrap是一个基于html、css、javascript的响应式的移动端优先的前端框架。使用起来非常方便、学习较为简单。

    基于bootstrap的动态表单的实现

    Bootstrap,作为最受欢迎的前端框架之一,提供了丰富的样式和组件,使得构建动态表单变得更加容易。 在实现基于Bootstrap的动态表单时,我们通常会借助一些工具或库,如本例中提到的"Bootstrap Form Builder"。这个...

    bootstrap风格的html5表单验证示例

    4. **Bootstrap表单验证状态**:Bootstrap还提供了表单验证状态样式,如`.has-error`(现在推荐使用`.is-invalid`),`.has-warning`和`.has-success`,这些类可以改变输入框、标签和帮助文本的样式,以反馈用户的...

    bootstrapvalidator 表单验证

    BootstrapValidator是一款基于Bootstrap框架的强大的表单验证插件,它为HTML5表单提供了一种美观、高效的验证机制。在Web应用中,确保用户输入的数据合法性和准确性是至关重要的,BootstrapValidator为此提供了一...

    简单实用的Bootstrap3表单验证插件

    在 Bootstrap3 中,表单验证是必不可少的一部分,它帮助确保用户输入的数据符合预设的规则,从而提高数据的质量和应用的稳定性。 Bootstrap3 的表单验证通常依赖于 JavaScript 和 jQuery,因为 HTML5 的内置验证...

    好用的bootstrapvalidator表单验证

    BootstrapValidator是一款基于Bootstrap框架的强大的表单验证插件,它为开发者提供了丰富的验证规则和便捷的验证机制,使得创建复杂的Web表单变得轻而易举。这个插件通过优雅的UI设计和灵活的配置选项,使得表单验证...

    Bootstrap4表单浮动标签插件

    Bootstrap4表单浮动标签插件是一款专为Bootstrap4框架设计的增强组件,它引入了Material Design的设计理念,为传统的Bootstrap表单提供了独特的交互体验。在Material Design中,表单的占位符(placeholder)不再固定...

    jQuery+bootstrap可视化表单拖拽编辑,自定义拖拽设计表单

    代码简介:jQuery可视化表单拖拽编辑代码是一款基于jQuery和bootstrap框架制作可视化表单,可自定义拖拽控制生成表单,预览表单,表单各种属性可通过json格式的配置来处理控制表单的各个属性,看起来非常的高大上,...

    Bootstrap实现登录校验表单(带验证码)

    在本文中,我们将探讨如何使用Bootstrap来创建一个带有验证码和验证功能的登录表单。 首先,要创建这样一个表单,我们需要引入Bootstrap的相关CSS和JavaScript文件。在提供的代码片段中,可以看到引用了以下文件: ...

    bootstrapvalidator是一款简单实用的Bootstrap3表单验证jQuery插件

    BootstrapValidator是针对Bootstrap3框架的一款高效且易于使用的jQuery表单验证插件,它极大地简化了在Web应用中实现复杂表单验证的过程。这款插件利用HTML5的数据属性(data attributes)来设定验证规则,使得...

    基于Bootstrap的表单浮动标签

    通过以上步骤,你就可以在Bootstrap表单中实现浮动标签效果,提高用户的填写体验。这种设计模式特别适合在移动设备上使用,因为它能有效利用有限的屏幕空间,使表单看起来更简洁、更清晰。 总结来说,Bootstrap-...

    bootstrap easyui表单拖拽各种方法

    在"bootstrap easyui表单拖拽各种方法"这个主题中,我们将探讨如何利用Bootstrap EasyUI实现表单元素的拖放功能,以增强用户体验和交互性。 1. **EasyUI Draggable**: EasyUI 提供了 `draggable` 插件,可以将任何...

    bootstrap表单构造器

    将Bootstrap表单构造器与CodeIgniter结合,可以极大地提升开发效率,同时保持项目的整洁和可维护性。 在实际应用中,开发者可以将表单构造器集成到现有的Web应用程序中,或者作为一个独立的模块供多个项目共享。...

    基于bootstrap登录表单模板

    一款不错的基于bootstrap表单登录模板

    bootstrap校验表单js css

    BootstrapValidator是一款强大的表单验证插件,它基于前端框架Bootstrap设计,可以轻松地为你的HTML表单添加验证功能。这个插件提供了丰富的验证规则和灵活的配置选项,以确保用户输入的数据符合预设条件,从而增强...

    bootstrap表单验证

    Bootstrap表单验证是一种在网页开发中常用的技术,用于确保用户在提交表单前输入的数据有效、完整且符合预设规则。Bootstrap,一个流行的前端开发框架,提供了美观的UI组件和强大的交互功能,其中包括表单验证功能。...

    bootstrap表单验证插件bootstrapvalidator

    2. 创建一个Bootstrap表单,定义需要验证的表单字段。 3. 初始化BootstrapValidator,设置验证规则和选项。 4. 处理验证结果,例如展示错误信息或提交表单。 通过上述介绍,我们可以看出BootstrapValidator是一个...

    非常好的bootstrap3.1.1表单验证插件

    Bootstrap是世界上最受欢迎的前端开发框架之一,用于快速构建响应式、移动优先的Web应用程序。Bootstrap 3.1.1是其3.x版本系列中的一个稳定版本,提供了丰富的UI组件、网格系统、JavaScript插件和定制选项。在描述中...

    基于bootstrap做的表单拖拽生成器.rar

    Bootstrap是世界上最流行的前端开发框架之一,它为开发者提供了丰富的组件和设计模式,使得网页的创建变得简单快捷。在这个“基于bootstrap做的表单拖拽生成器”中,我们看到的是一套利用Bootstrap构建的动态表单...

Global site tag (gtag.js) - Google Analytics