Bootstrap响应式前端框架笔记四——表单

Bootstrap响应式前端框架笔记四——表单

一、基本表单样式

    在Bootstrap框架中,可以为表单标签添加form-control属性来为其设置默认样式,默认表单控件的宽度将充满父容器标签。需要注意,在布局表单时,可以为其设置一个label标签用于说明,将label标签的for属性与表单标签的id相对应,可以实现当用户点击label标签时使其对应的表单自动获取输入焦点。示例代码如下:

		<p>Bootstrap为默认的表单便签添加了样式</p>
		<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="checkbox">
				<label>
				<input type="checkbox">性别
				</label>
			</div>	
			<button type="submit">提交</button>
		</form>

需要注意,将label和表单标签包裹在form-group类内,会自动进行间距的布局设置。效果如下:

    默认情况下,label与表单元素的排列是竖直布局的,可以使用form-horizontal类来将其设置为水平布局,示例如下:

        <p>使用from-horizontal类可以将label与表单进行水平排列,并可以结合栅格系统使用</p>
		<form class="form-horizontal" role="form">
			<div class="form-group">
				<label for="inputEmail3" class="col-sm-2">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">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">
					<button type="submit" class="btn btn-default">Sign in</button>
				</div>
			</div>
		</form>

效果如下:

二、选择框与下拉列表

    HTML中有单选框和复选框两种选择框标签。示例代码如下:

		<p>默认的单选框与复选框样式</p>
		<p>复选框</p>
		<div class="checkbox">
		<label>
			<input type="checkbox" name="" id="" value="" />
			足球
		</label>
		</div>
		<div class="checkbox">
		<label>
			<input type="checkbox" name="" id="" value="" />
			篮球
		</label>
		</div>
		<div class="checkbox">
		<label>
			<input type="checkbox" name="" id="" value="" />
			乒乓球
		</label>
		</div>
		<p>单选框</p>
		<div class="radio">
			<label>
				<input type="radio" name="sex"/>
				男
			</label>
		</div>
		<div class="radio">
			<label>
				<input type="radio" name="sex"/>
				女
			</label>
		</div>

可以看到,默认的单选框与复选框的排列也是垂直布局的,使用checkbox-inline类和radio-inline类可以实现水平排列布局,示例如下:

		<p>水平排列的单选框与复选框样式</p>
		<p>复选框</p>
		<div class="checkbox-inline">
			<label>
			<input type="checkbox" name="" id="" value="" />
			足球
		</label>
		</div>
		<div class="checkbox-inline">
			<label>
			<input type="checkbox" name="" id="" value="" />
			篮球
		</label>
		</div>
		<div class="checkbox-inline">
			<label>
			<input type="checkbox" name="" id="" value="" />
			乒乓球
		</label>
		</div>
		<p>单选框</p>
		<div class="radio-inline">
			<label>
				<input type="radio" name="sex"/>
				男
			</label>
		</div>
		<div class="radio-inline">
			<label>
				<input type="radio" name="sex"/>
				女
			</label>
		</div>

效果如下图:

    Bootstrap框架中默认的下拉列表样式示例如下:

		<p>默认的下拉列表</p>
		<select class="form-control">
			<option>上海</option>
			<option>北京</option>
			<option>郑州</option>
			<option>深圳</option>
			<option>广州</option>
		</select>

效果如下:

开发者也可以通过添加multiple参数的方式来进行下拉选项的全部展示,示例如下:

		<p>使用multiple参数来进行下拉选项的全部展示</p>
		<select multiple class="form-control">
			<option>上海</option>
			<option>北京</option>
			<option>郑州</option>
			<option>深圳</option>
			<option>广州</option>
		</select>

效果如下:

三、表单状态

    为表单元素添加disabled属性来将表单设置为禁用状态,示例如下:

		<p>禁用表单</p>
		<input class="form-control" placeholder="被禁用的输入框" type="text" disabled/>
		<div  class="checkbox">
		<label>
			<input type="checkbox" disabled/>被禁用的复选框
		</label>
		</div>

效果如下:

    如果在开发中需要使一组的表单元素全部处于禁用状态,可以使用fieldset标签进行包裹,并为fieldset标签添加disabled属性。示例如下:

		<p>进行一组表单元素的禁用</p>
		<form>
			<fieldset disabled>
				<div class="form-group">
					<label for="disabledTextInput">被禁用的输入框</label>
					<input type="text" id="disabledTextInput" class="form-control" placeholder="被禁用的输入框">
				</div>
				<div class="form-group">
					<label for="disabledSelect">被禁用的下拉菜单</label>
					<select id="disabledSelect" class="form-control">
						<option>被禁用的下拉菜单</option>
					</select>
				</div>
				<div class="checkbox">
					<label>
        <input type="checkbox"> 被禁用的选择框
      </label>
				</div>
				<button type="submit" class="btn btn-primary">被禁用的按钮</button>
			</fieldset>
		</form>

效果如下:

Bootstrap中也定义好了一些校验状态的样式,例如警告,成功,错误等状态,为表单元素的父标签添加这些状态类即可,示例如下:

		<p>校验状态</p>
		<form>
			<div class="has-error form-group">
				<input class="form-control" placeholder="错误状态的表单" type="text" />
			</div>
			<div class="has-success form-group">
				<input class="form-control" placeholder="成功状态的表单" type="text" />
			</div>
			<div class="has-warning form-group">
				<input class="form-control" placeholder="警告状态的表单" type="text" />
			</div>
		</form>

效果如下:

开发者也可以为验证表单的右侧添加一个小图标,前提需要为表单元素的父元素设置has-feedback类,示例如下:

		<p>为表单添加右侧icon</p>
		<form>
			<div class="form-group has-error has-feedback ">
				<input class="form-control" placeholder="错误状态的表单" type="text" />
				<span class="glyphicon glyphicon-eur form-control-feedback"></span>
			</div>
			<div class="has-success form-group has-feedback">
				<input class="form-control" placeholder="成功状态的表单" type="text" />
				<span class="glyphicon glyphicon-ok form-control-feedback"></span>
			</div>
			<div class="has-warning form-group has-feedback">
				<input class="form-control" placeholder="警告状态的表单" type="text" />
				<span class="glyphicon glyphicon-off form-control-feedback"></span>
			</div>
		</form>

效果如下:

   另外,本篇博客中所有的实例代码及显示效果,在如下地址中,需要的可以自行对照学习。

http://zyhshao.github.io/bootStrapDemo/form.html

前端学习新人,有志同道合的朋友,欢迎交流与指导,QQ群:541458536

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏九彩拼盘的叨叨叨

Vue2 组件通信写法总结

子组件只接收在子组件定义的 props的值。通过 this.prop名称 获得父组件传数据。

6520
来自专栏CDA数据分析师

【爬虫基础】网页是怎么构成的?

作者 张俊红 本文为 CDA 志愿者张俊红原创作品,转载需授权 所谓的网络爬虫就是从网页中指定位置找到对应的数据并下载,要想知道数据在什么位置,我们需要首...

25250
来自专栏一“技”之长

Bootstrap响应式前端框架笔记六——图片与其他辅助类

    在页面中插入图片,Bootstrap框架中定义了3中图片的Css类样式,分别为圆角图片img-rounded类,圆形图片img-circle类和带边框的...

9920
来自专栏ytkah

如何用<dl>标签做表格而不用table标签

  我们都知道很多的内容编辑器(TinyMCE编辑器、fck)都有插入表格功能,快速方便,但是这些表格用到的<table>标签,可以查看html源代码就能发现,...

33660
来自专栏码农阿宇

HTML基础加强

1. 什么是浏览器:解释和执行HTML源码的工具。 2. 什么是静态页面,什么样的页面是动态页面? 静态页面:htm,html(直接读取) 动态网页:asp...

365100
来自专栏柠檬先生

jquery mobile 移动web(1)

轻量级框架jQuery Mobile   所需文件     <link rel="stylesheet" href="jquery.mobile-1.1.2/...

22060
来自专栏python3

tkinter -- Event(1)

分别测试鼠标的 Relase 事件,只有当鼠标被 Relase 后移动才回产生 Relase 事件

6610
来自专栏十月梦想

移动端开发样式初始化

在移动端开发,需要解决在移动端下的一些样式初始化,防止在设备出现不同的效果,下面我们看下,需要解决移动端的那些样式需要初始化!

12020
来自专栏杨龙飞前端

checkbox的常见问题

23950
来自专栏向治洪

React-Native组件之 TabBarIOS和TabBarIOS.Item

TabBarIOS 组件简介 目前的APP内,大部分都是选项与选项之间切换,比如:微信、微博、QQ空间…,在iOS中,我们可以通过TabItem类进行实现,那么...

355100

扫码关注云+社区

领取腾讯云代金券