Bootstrap表单和图片
学习要点:
1.表单
2.图片
本节课我们主要学习一下 Bootstrap 表单和图片功能,通过内置的 CSS 定义,显示各 种丰富的效果。
一.表单
Bootstrap 提供了一些丰富的表单样式供开发者使用。
1.基本格式
实现基本的表单样式
form-control样式class类,写在<input>里,设置输入框样式(Bootstrap)
form-group样式class类,写在输入框外面的<div>里,设置输入框与输入框之间的样式(Bootstrap)
<form>
<div class="form-group">
<label>电子邮件</label>
<input type="email" class="form-control" placeholder="请输入您的电子邮件">
</div>
<div class="form-group">
<label>密码</label>
<input type="password" class="form-control" placeholder="请输入您的密码">
</div>
</form>
注:只有正确设置了输入框的 type 类型,才能被赋予正确的样式。支持的输入框控件 包括:text、password、datetime、datetime-local、date、month、time、week、 number、email、url、search、tel 和 color。
2.内联表单
让表单左对齐浮动,并表现为 inline-block 内联块结构,当小于 768px,会恢复独占样式
form-inline样式class类,写在<form>里,让表单左对齐浮动,并表现为 inline-block 内联块结构,当小于 768px,会恢复独占样式(Bootstrap)
<form class="form-inline">
<div class="form-group">
<label>电子邮件</label>
<input type="email" class="form-control" placeholder="请输入您的电子邮件">
</div>
<div class="form-group">
<label>密码</label>
<input type="password" class="form-control" placeholder="请输入您的密码">
</div>
</form>
大于768px
小于768px
3.表单合组
前后增加片段,给输入框前后加上片段
input-group-addon样式class类,写在input同级的<div>里,给输入框加一个片段(Bootstrap)
input-group样式class类,写在input父级的<div>里,将输入框和片段合并(Bootstrap)
<form class="form-inline">
<div class="form-group">
<label>电子邮件</label>
<input type="email" class="form-control" placeholder="请输入您的电子邮件">
</div>
<div class="form-group">
<label>密码</label>
<input type="password" class="form-control" placeholder="请输入您的密码">
</div> <label>金额</label>
<div class="input-group">
<div class="input-group-addon">¥</div>
<input type="text" class="form-control">
<div class="input-group-addon">.00</div>
</div>
</form>
4.水平排列
让表单内的元素保持水平排列
form-horizontal样式class类,写在<form>里,让表单内的元素保持水平排列(Bootstrap)
col-sm-2样式class类,写在<label>里,给输入框的标题设置所占比例(Bootstrap)
col-sm-10样式class类,写在input的父级<div>里,给输入框设置所占比例(Bootstrap)
control-label样式class类,写在<label>里,让输入框标题和form元素同步(Bootstrap)
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="email" class="form-control" placeholder="请输入您的电子邮件">
</div>
</div> <div class="form-group">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
</div>
</div>
</form>
大屏
小屏
注:这里用到了 col-sm 栅格系统,后面章节会重点讲解,而 control-label 表示和 父元素样式同步。
5.复选框和单选框
设置复选框,为区块一行
checkbox样式class类,写在input外层<div>里,设置复选框为区块一行样式(Bootstrap)
<div class="checkbox">
<label>
<input type="checkbox">体育
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox">音乐
</label>
</div>
设置禁用的复选框
disabled样式class类,写在input外层<div>里,禁止复选框文字选择(Bootstrap)
<div class="checkbox disabled">
<label>
<input type="checkbox" disabled>体育
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox">音乐
</label>
</div>
设置内联一行显示的复选框
checkbox-inline样式class类,写在input外层<label>里,设置内联一行显示的复选框(Bootstrap)
<label class="checkbox-inline disabled">
<input type="checkbox" disabled>体育
</label> <label class="checkbox-inline">
<input type="checkbox">音乐
</label>
设置单选框区块一行显示
radio样式class类,写在input外层<div>里,设置单选框区块一行显示(Bootstrap)
<div class="radio">
<label>
<input type="radio" name="sex">男
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="sex">女
</label>
</div>
设置单选框内联一行显示
radio-inline样式class类,写在input外层<div>里,设置单选框内联一行显示(Bootstrap)
<div class="radio-inline">
<label>
<input type="radio" name="sex">男
</label>
</div>
<div class="radio-inline">
<label>
<input type="radio" name="sex">女
</label>
</div>
注意:禁用单选框和禁用复选框一样
6.下拉列表
设置下拉列表
form-control样式class类,写在<select>里,设置下拉列表(Bootstrap)
<select class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
7.校验状态
设置校验状态,也就是设置输入框的校验状态样式,
has-error样式class类,写在input最外层<div>里,设置校验状态,也就是设置输入框的校验状态样式,错误状态(Bootstrap)
has-success样式class类,写在input最外层<div>里,设置校验状态,也就是设置输入框的校验状态样式,成功状态(Bootstrap)
has-warning样式class类,写在input最外层<div>里,设置校验状态,也就是设置输入框的校验状态样式,警告状态(Bootstrap)
<div class="form-group has-error">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
</div>
</div>
<div class="form-group has-success">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
</div>
</div>
<div class="form-group has-warning">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
</div>
</div>
label 标签同步相应状态,如果标题名字没有同步校验状态可以在label标签加class="control-label"同步
control-label样式class类,写在要同步样式的标签里,将当前元素与最外层div样式同步,也就共用样式(Bootstrap)
<div class="form-group has-error">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
</div>
</div>
<div class="form-group has-success">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
</div>
</div>
<div class="form-group has-warning">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
</div>
</div>
8.给输入框添加额外的文字图标
文本框右侧内置文本图标
glyphicon样式class类,写在input同级的<span>里,设置文本图标基础样式(Bootstrap)
glyphicon-ok样式class类,写在input同级的<span>里,设置文本图标(Bootstrap)
form-control-feedback样式class类,写在input同级的<span>里,设置文本图标的位置(Bootstrap)
has-feedback样式class类,写在input最外层的<div>里,将文本图标位置应用到输入框(Bootstrap)
<div class="form-group has-warning has-feedback">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
<span class="glyphicon glyphicon-ok form-control-feedback"></span>
</div>
</div>
图标样式
glyphicon-ok样式class类,写在input同级的<span>里,成功状态图标(Bootstrap)
glyphicon-warning-sign样式class类,写在input同级的<span>里,警告状态图标(Bootstrap)
glyphicon-remove样式class类,写在input同级的<span>里,错误状态图标(Bootstrap)
<div class="form-group has-success has-feedback">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
<span class="glyphicon glyphicon-ok form-control-feedback"></span>
</div>
</div>
<div class="form-group has-warning has-feedback">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
<span class="glyphicon glyphicon-warning-sign form-control-feedback"></span>
</div>
</div>
<div class="form-group has-error has-feedback">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
<span class="glyphicon glyphicon-remove form-control-feedback"></span>
</div>
</div>
9.输入框控制尺寸
从大到小
input-lg样式class类,写在<input>里,大尺寸输入框(Bootstrap)
input-sm样式class类,写在<input>里,小尺寸输入框(Bootstrap)
<div class="form-group has-success has-feedback">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control input-lg" placeholder="请输入名称">
<span class="glyphicon glyphicon-ok form-control-feedback"></span>
</div>
</div>
<div class="form-group has-warning has-feedback">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入名称">
<span class="glyphicon glyphicon-warning-sign form-control-feedback"></span>
</div>
</div>
<div class="form-group has-error has-feedback">
<label class="col-sm-2 control-label">电子邮件</label>
<div class="col-sm-10">
<input type="text" class="form-control input-sm" placeholder="请输入名称">
<span class="glyphicon glyphicon-remove form-control-feedback"></span>
</div>
</div>
注:也可以设置父元素 form-group-lg、form-group-sm,来调整。
二.图片
Bootstrap 提供了一些丰富的图片样式供开发者使用。
1.图片形状
img-rounded样式class类,写在<img>里,设置图片圆角样式(Bootstrap)
img-circle样式class类,写在<img>里,设置图片圆形,图片时正方形的就是圆形,图片时长方形的就是椭圆(Bootstrap)
img-thumbnail样式class类,写在<img>里,设置图片缩略图样式(Bootstrap)
<img src="img/pic.png" alt="图片" class="img-rounded">
<img src="img/pic.png" alt="图片" class="img-circle">
<img src="img/pic.png" alt="图片" class="img-thumbnail">
2响应式图片
img-responsive样式class类,写在<img>里,设置图片响应式(Bootstrap)
<img src="img/pic.png" alt="图片" class="img-thumbnail img-responsive">
<img src="img/pic.png" alt="图片" class="img-thumbnail img-responsive">
<img src="img/pic.png" alt="图片" class="img-thumbnail img-responsive">