Bootstrap之表单控件状态

Bootstrap中的表单控件状态主要有三种:焦点状态,禁用状态,验证状态。

一、焦点状态:该状态告诉用户可输入或选择东西

焦点状态通过伪类“:focus”以实现。

bootstrap.css相应源码:

.form-control:focus {
    border-color: #66afe9;
    outline: 0;   //删除了outline的默认样式
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);  //添加了阴影效果
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
}

使用方法:给控件添加类名“form-control”。

eg:

<input class="form-control" type="text" placeholder="不是焦点状态下效果">
<input class="form-control" type="text" placeholder="焦点状态下效果">

效果图如下所示:(焦点状态下为蓝色边框效果)

焦点状态下,file、radio、checkbox控件的效果与普通的input空间不完全一样,因为bootstrap对它们做了特殊处理。

bootstrap.css相应源码:

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

二、禁用状态:该状态告诉用户不可以输入或选择东西
禁用状态是通过在表单控件上添加"disabled"属性以实现。
bootstrap.css相应源码:
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    cursor: not-allowed;
    background-color: #eee;
    opacity: 1;
}
使用方法:在需要禁用的表单控件上加上"diabled"属性即可。
eg:
<input class="form-control" type="text" placeholder="不是焦点状态下效果">
<input class="form-control" type="text" placeholder="表单已禁用,不能输入"  disabled>
效果图如下所示:

说明:禁用状态下控件背景色为灰色,且手型变为不准输入的形状,若表单控件不使用类名"form-control",则禁用的控件只有一个不准输入的手型。
PS:在Bootstrap中,若fieldset设置了"disabled"属性,则整个域都处于被禁用状态。
eg:
 1 <form role="form">
 2     <fieldset disabled>
 3         <div class="form-group">
 4             <label for="disabledTextInput">禁用的输入框</label>
 5             <input type="text" id="disabledTextInput" class="form-control" placeholder="禁止输入">
 6         </div>
 7         <div class="form-group">
 8             <label for="disabledSelect">禁用的下拉框</label>
 9             <select id="disabledSelect" class="form-control">
10                 <option>不可选择</option>
11             </select>
12         </div>
13         <div class="checkbox">
14             <label>
15                 <input type="checkbox">无法选择
16             </label>
17         </div>
18         <button type="submit" class="btnbtn-primary">提交</button>
19     </fieldset>
20 </form>
效果如下图所示:

PS:对于一个禁用的域,若legend中有输入框,则此输入框是无法被禁用的。
eg:
 1 <form role="form">
 2     <fieldset disabled>
 3         <legend><input type="text" class="form-control" placeholder="我没被禁用" /></legend>
 4         <div class="form-group">
 5             <label for="disabledTextInput">禁用的输入框</label>
 6             <input type="text" id="disabledTextInput" class="form-control" placeholder="禁止输入">
 7         </div>
 8         <div class="form-group">
 9             <label for="disabledSelect">禁用的下拉框</label>
10             <select id="disabledSelect" class="form-control">
11                 <option>不可选择</option>
12             </select>
13         </div>
14         <div class="checkbox">
15             <label>
16                 <input type="checkbox">无法选择
17             </label>
18         </div>
19         <button type="submit" class="btnbtn-primary">提交</button>
20   </fieldset>
21 </form>
效果图如下所示:

三、验证状态:该状态告诉用户,他们的操作是否正确

在Bootstrap中提供3种验证状态样式:

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

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

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

使用方法:在form-group容器上添加对应的状态类名即可。

eg:

 1 <form role="form">
 2     <div class="form-group has-success">
 3         <label class="control-label" for="inputSuccess1">成功状态</label>
 4         <input type="text" class="form-control" id="inputSuccess1" placeholder="成功状态" >
 5     </div>
 6     <div class="form-group has-warning">
 7         <label class="control-label" for="inputWarning1">警告状态</label>
 8         <input type="text" class="form-control" id="inputWarning1" placeholder="警告状态">
 9     </div>
10     <div class="form-group has-error">
11         <label class="control-label" for="inputError1">错误状态</label>
12         <input type="text" class="form-control" id="inputError1" placeholder="错误状态">
13     </div>
14 </form>
说明:从效果可看出,三种样式除了颜色不同外,效果都一样。
在Bootstrap的表单验证中,不同状态会提供不同的icon,如成功是个对号"√",错误是个叉号"×"等。
若想让表单在不同状态下显示对应的icon,则只需在对应状态下添加类名"has-feedback"。
PS:类名"has-feedback"要与"has-error"、"has-warning"、"has-success"配合使用。
eg:
 1 <form role="form">
 2     <div class="form-group has-success has-feedback">
 3         <label class="control-label" for="inputSuccess">成功状态</label>
 4         <input type="text" class="form-control" id="inputSuccess" placeholder="成功状态" >
 5         <span class="glyphicon glyphicon-ok form-control-feedback"></span>
 6     </div>
 7     <div class="form-group has-warning has-feedback">
 8         <label class="control-label" for="inputWarning">警告状态</label>
 9         <input type="text" class="form-control" id="inputWarning" placeholder="警告状态" >
10         <span class="glyphicon glyphicon-warning-sign form-control-feedback"></span>
11   </div>
12   <div class="form-group has-error has-feedback">
13         <label class="control-label" for="inputError">错误状态</label>
14         <input type="text" class="form-control" id="inputError" placeholder="错误状态" >
15         <span class="glyphicon glyphicon-remove form-control-feedback"></span>
16   </div>
17 </form>
效果如下所示:

说明:从效果图中可看出,图标都居右。
注:Bootstrap中的图标都是使用@face-face来制作,且必须在表单中添加个span元素来实现。
eg:
<span class="glyphicon glyphicon-remove form-control-feedback"></span>
时间: 2024-08-06 11:36:40

Bootstrap之表单控件状态的相关文章

Bootstrap历练实例:表单控件状态(焦点)

输入框焦点 当输入框 input 接收到 :focus 时,输入框的轮廓会被移除,同时应用 box-shadow. <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Bootstrap历练实例:表单控件状态(焦点)</title> <m

Bootstrap历练实例:表单控件状态(禁用)

禁用的输入框 input 如果您想要禁用一个输入框 input,只需要简单地添加 disabled 属性,这不仅会禁用输入框,还会改变输入框的样式以及当鼠标的指针悬停在元素上时鼠标指针的样式. <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Boots

Bootstrap历练实例:表单控件状态(禁用的字段集fieldset)

禁用的字段集 fieldset 对 <fieldset> 添加 disabled 属性来禁用 <fieldset> 内的所有控件. <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Bootstrap历练实例:表单控件状态(禁

表单控件状态(禁用状态)

Bootstrap框架的表单控件的禁用状态和普通的表单禁用状态实现方法是一样的,在相应的表单控件上添加属性“disabled”. 在使用了“form-control”的表单控件中,样式设置了禁用表单背景色为灰色,而且手型变成了不准输入的形状.如果控件中不使用类名“form-control”,禁用的控件只会有一个不准输入的手型出来. 在Bootstrap框架中,如果fieldset设置了disabled属性,整个域都将处于被禁用状态. 对于整个禁用的域中,如果legend中有输入框的话,这个输入框

Bootstrap之表单

基础表单 表单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等. 当然表单除了这几个元素之外,还有input.select.textarea等元素,在Bootstrap框架中,通过定制了一个类名`form-control`,也就是说,如果这几个元素使用了类名“form-control”,将会实现一些设计上的定制效果. 1.宽度变成了100% 2.设置了一个浅灰色(#ccc)的边框 3.具有4px的圆角 4.设置阴影效果,并且元素得到焦点之时,阴影和边框效果会有所变

Bootstrap CSS 表单

表单布局 Bootstrap 提供了下列类型的表单布局: 垂直表单(默认) 内联表单 水平表单 垂直或基本表单 基本的表单结构是 Bootstrap 自带的,个别的表单控件自动接收一些全局样式.下面列出了创建基本表单的步骤: 向父 <form> 元素添加 role="form". 把标签和控件放在一个带有 class .form-group 的 <div> 中.这是获取最佳间距所必需的. 向所有的文本元素 <input>.<textarea&g

BootStrap 智能表单

背景:本码农.NET后端工程师,由于现在的公司后端能玩到的东西不怎么深入(一般也就sql.linq.反射.wcf....),所以申请玩玩前端的东西,在负责的一个电商项目中发现很大一部分是根据表结构来构建form表单的,而且模块还很多的,特别是表的列名都还没确定的时候需要先出界面,等后面表列名确定后又的重新来给表单元素加上id.name等,尼玛感觉这样下去就是一真正的码农了,于是自己整了一套根据配置来生成form表单的插件 源码地址(github):BootStrap智能表单 本系列将包括 1.表

BootStrap 智能表单系列 十 自动完成组件的支持

web开发中,肯定遇到像百度.google这种搜索的功能吧,那智能表单中的自动完成可以做什么呢,下面来揭晓: 1.包含像google.百度等类似的简单搜索 2.复杂结构的支持,比如说 输入产品编号,需要将产品的编号.产品的名称.产品的单价.产品的备注信息等填写会表单中的某个位置 代码如下(页面地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form3-ele-autocomplete.html): 自动完成

BootStrap 智能表单系列 十一 级联下拉的支持

像省市县选择的这种,但凡是个人肯定都见过,实现方式有很多种 1.有在第一级选择的时候去加载或者从本地对象中拿第一级对应的数据源显示到列表中,第二级以此类推 2.也有将所有的项都加载到select中,然后通过关联来显示或隐藏与上一级别无关的项 感觉还是第二种简单一些,于是使用了第二种方式来实现的,其余的就不废话了 代码如下(页面地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form3-ele-cascade