<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
基础表单
表单主要功能是用来与用户做交流的一个网页控件
,良好的表单设计能够让网页与用户更好的沟通。表单中常见的元素主要包括:文本输入框
、下拉选择框
、单选按钮
、复选按钮
、文本域
和按钮
等。其中每个控件所起的作用都各不相同,而且不同的浏览器对表单控件渲染的风格都各有不同。
对于基础表单,Bootstrap 并未对其做太多的定制性效果设计,仅仅对表单内的fieldset
、legend
、label
标签进行了定制。主要将这些元素的 margin
、padding
和 border
等进行了细化设置。
当然表单除了这几个元素之外,还有 input
、select
、textarea
等元素,在 Bootstrap 框架中,通过定制了一个类名 form-control
,也就是说,如果这几个元素使用了类名“form-control
”,将会实现一些设计上的定制效果。
- 宽度变成了 100%
- 设置了一个浅灰色(#ccc)的边框
- 具有 4px 的圆角
- 设置阴影效果,并且元素得到焦点之时,阴影和边框效果会有所变化
- 设置了 placeholder 的颜色为 #999
水平表单
Bootstrap 框架默认的表单是垂直显示风格,但很多时候我们需要的水平表单风格(标签居左,表单控件居右)见下图。
在 Bootstrap 框架中要实现水平表单效果,必须满足以下两个条件:
- 在
<form>
元素是使用类名“form-horizontal
”。 - 配合 Bootstrap 框架的网格系统。
在 <form>
元素上使用类名“form-horizontal
”主要有以下几个作用:
- 设置表单控件
padding
和margin
值。 - 改变“
form-group
”的表现形式,类似于网格系统的“row
”。
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">邮箱</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3" placeholder="请输入您的邮箱地址">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">密码</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputPassword3" placeholder="请输入您的邮箱密码">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"> 记住密码
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">进入邮箱</button>
</div>
</div>
</form>
内联表单
有时候我们需要将表单的控件都在一行内显示
,在 Bootstrap 框架中实现这样的表单效果是轻而易举的,你只需要在 <form>
元素中添加类名“form-inline
”即可。
<form class="form-inline" role="form">
<div class="form-group">
<label class="sr-only" for="exampleInputEmail2">邮箱</label>
<input type="email" class="form-control" id="exampleInputEmail2" placeholder="请输入你的邮箱地址">
</div>
<div class="form-group">
<label class="sr-only" for="exampleInputPassword2">密码</label>
<input type="password" class="form-control" id="exampleInputPassword2" placeholder="请输入你的邮箱密码">
</div>
<div class="checkbox">
<label>
<input type="checkbox"> 记住密码
</label>
</div>
<button type="submit" class="btn btn-default">进入邮箱</button>
</form>
输入框(input)
每一个表单都是由表单控件组成。离开了控件,表单就失去了意义。
单行输入框,常见的文本输入框,也就是 input
的 type