Bootstrap源码解读表单(2)

前端之家收集整理的这篇文章主要介绍了Bootstrap源码解读表单(2)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

源码解读Bootstrap表单

基础表单

对于基础表单,Bootstrap并未对其做太多的定制性效果设计,仅仅对表单内的fieldset、legend、label标签进行了定制。主要将这些元素的margin、padding和border等进行了细化设置。 这些元素如果使用了类名“form-control”,将会实现一些设计上的定制效果

1. 宽度变成了100% 2. 设置了一个浅灰色(#ccc)的边框 3. 具有4px的圆角 4. 设置阴影效果,并且元素得到焦点之时,阴影和边框效果会有所变化 5. 设置了placeholder的颜色为#999

水平表单

在Bootstrap框架中要实现水平表单效果,必须满足以下两个条件: 1. 在

元素是使用类名“form-horizontal”。 2. 配合Bootstrap框架的网格系统。

在元素上使用类名“form-horizontal”主要有以下几个作用: 1. 设置表单控件padding和margin值。 2. 改变“form-group”的表现形式,类似于网格系统的“row”

如果要将表单的控件都在一行内显示,在元素中添加类名“form-inline”即可。

表单控件

单行输入框

input的type属性值为text

下拉选择框

单行的下拉选择框直接用select标签, 多行的滚动选择框要加上multiple属性,如:Box" value=""> 记住密码

dio">
dio">

我们可以发现, 1. 不管是checkBox还是radio都使用label包起来 2. checkBox连同label标签放置在一个名为“.checkBox”的容器内 3. radio连同label标签放置在一个名为“.radio”的容器内 在Bootstrap框架中,主要借助“.checkBox”和“.radio”样式,来处理复选框、单选按钮与标签的对齐方式。 源码:

dio,.checkBox { display: block; min-height: 20px; padding-left: 20px; margin-top: 10px; margin-bottom: 10px; } .radio label,.checkBox label { display: inline; font-weight: normal; cursor: pointer; } .radio input[type="radio"],.radio-inline input[type="radio"],.checkBox input[type="checkBox"],.checkBox-inline input[type="checkBox"] { float: left; margin-left: -20px; } .radio + .radio,.checkBox + .checkBox { margin-top: -5px; }

复选框和单选按钮水平排列

如果checkBox需要水平排列,只需要在label标签添加类名“checkBox-inline”; 如果radio需要水平排列,只需要在label标签添加类名“radio-inline”。 例如:

dio-inline"> dio" value="option1" name="sex">男性

实现源码:

dio-inline,.checkBox-inline { display: inline-block; padding-left: 20px; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; } .radio-inline + .radio-inline,.checkBox-inline + .checkBox-inline { margin-top: 0; margin-left: 10px; }

表单控件大小

可以通过设置控件的height,line-height,padding和font-size等属性来实现控件的高度设置。不过Bootstrap框架还提供了两个不同的类名,用来控制表单控件的高度。这两个类名是: 1. input-sm:让控件比正常大小更小 2. input-lg:让控件比正常大小更大 这两个类适用于表单中的input,textarea和select控件。 实现源码如下:

表单控件状态

焦点状态

焦点状态的实现源码如下:

Box-shadow: inset 0 1px 1pxrgba(0,.075),0 0 8px rgba(102,175,233,.6); Box-shadow: inset 0 1px 1pxrgba(0,.6); }

可以看出,要让控件在焦点状态下有上面样式效果,给控件添加类名“form-control”即可。 另外,file、radio和checkBox控件在焦点状态下的效果也与普通的input控件不太一样,实现源码如下:

dio"]:focus,input[type="checkBox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }

禁用状态

Bootstrap框架的表单控件的禁用状态和普通的表单禁用状态实现方法是一样的,在相应的表单控件上添加属性“disabled”。 实现源码如下:

如果fieldset设置了disabled属性,整个域都将处于被禁用状态。不过如果legend中有输入框的话,这个输入框是无法被禁用的。

验证状态

在Bootstrap框架中提供这几种验证效果。 1. .has-warning:警告状态(黄色) 2. .has-error:错误状态(红色) 3. .has-success:成功状态(绿色) 使用的时候只需要在form-group容器上对应添加状态类名。 例如:

错误状态 错误状态">

如果让表单在对应的状态下显示 对应的icon 出来,比如成功是一个对号√,错误是一个叉号×,那就要在对应的状态下添加类名“has-Feedback”,此类名要与“has-error”、“has-warning”和“has-success”在一起,并且表单中要添加一个span元素。例如:

Feedback">
Feedback">
Feedback"> 错误状态"> Feedback">

表单提示信息

使用一个”help-block”样式,将提示信息以块状显示,并且显示在控件底部。例如:

Feedback">

实现源码如下:

这个信息是显示在下面一行,如果想要显示在同一行内,可以使用类名“help-inline”,不过这个只有Bootstrap V2.x版本中有,Bootstrap V3.x版本中没有了,实现代码如下:

如果你不想为bootstrap.css增加自己的代码,但是又有这样的需求,那么只能借助于Bootstrap的网格系统。例如:

按钮

使用类名“btn”,例如: 标签按钮"/> 标签按钮

标签按钮

不过为了避免浏览器兼容性问题,建议还是使用button或a标签来制作按钮。

定制风格

有如下几种风格的按钮可用: .btn-primary 主要按钮 .btn-success 成功按钮 .btn-success 信息按钮 .btn-warning 警告按钮 .btn-danger 危险按钮 .btn-link 链接按钮

按钮大小

.btn-lg 大型按钮 .btn-sm 小型按钮 .btn-xs 超小型按钮

块状按钮

使用类名“btn-block”可以让按钮充满整个容器,并且这个按钮不会有任何的padding和margin值。 实现源码:

图像

标签上添加对应的类名可以实现不同的风格: .img-responsive:响应式图片,主要针对于响应式设计 .img-rounded:圆角图片 .img-circle:圆形图片 .img-thumbnail:缩略图片 实现源码:

img,.thumbnail a >img,.carousel-inner > .item >img,.carousel-inner > .item > a >img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; max-width: 100%; height: auto; padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; }

图标

Bootstrap框架中的图标都是字体图标,其实现原理就是通过@font-face属性加载了字体。在Bootstrap框架中有一个fonts的目录,这个目录中提供的字体文件就是用于制作icon的字体文件。 用法如下: 所有icon都是以”glyphicon-”前缀的类名开始,然后后缀表示图标的名称。 所有名称可以到这里查看: 除了使用glyphicon.com提供的图标之外,还可以使用第三方为Bootstrap框架设计的图标字体,如Font Awesome(nofollow" target="_blank" href="http://www.bootcss.com/p/font-awesome/">http://www.bootcss.com/p/font-awesome/)。使用方法和上面介绍的一样,不过要记得将字体下载到本地。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

原文链接:https://www.f2er.com/bootstrap/43242.html
表单表单

猜你在找的Bootstrap相关文章