详解Bootstrap创建表单的三种格式(一)


Posted in Javascript onJanuary 04, 2016

 在本章中,我们将学习如何使用 Bootstrap 创建表单。Bootstrap 通过一些简单的 HTML 标签和扩展的类即可创建出不同样式的表单。

 Bootstrap表单类型分为三种格式:垂直或基本表单、内联表单、水平表单。

垂直或基本表单(display:block;)

基本的表单结构是 Bootstrap 自带的,个别的表单控件自动接收一些全局样式。下面列出了创建基本表单的步骤:

向父 <form> 元素添加 role="form"。

把标签和控件放在一个带有 class .form-group 的 <div> 中。这是获取最佳间距所必需的。

向所有的文本元素 <input>、<textarea> 和 <select> 添加 class .form-control。

<!doctype html> 
<html lang="en"> 
 <head> 
  <!--网站编码格式,UTF-8 国际编码,GBK或 gb2312 中文编码--> 
  <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
  <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
  <meta name="Keywords" content="关键词一,关键词二"> 
  <meta name="Description" content="网站描述内容"> 
  <meta name="Author" content="Yvette Lau"> 
  <meta name = "viewport" content = " width = device-width, initial-scale = 1 ">   
  <title>BootstrapDemo</title> 
  <!--css js 文件的引入--> 
  <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.5-dist/css/bootstrap.min.css"> 
 </head> 
 <body style="padding: 20px;"> 
  <div class = "col-xs-12 col-sm-6 col-md-4 col-lg-3"> 
   <form role = "form"> 
    <div class = "form-group"> 
     <label for = "name">姓名</label> 
     <input type = "text" class = "form-control" id = "name" 
       placeholder = "请输入姓名"></input> 
    </div> 
    <div class = "form-group"> 
     <label for = "tel">电话号码</label> 
     <input type="text" class="form-control" id = "tel" 
       placeholder = "请输入您的电话号码"></input> 
    </div> 
    <div class = "form-group"> 
     <label for = "idCard">请上传身份证</label> 
     <input type = "file" id = "idCard"></input> 
    </div> 
    <div class = "form-group"> 
     <label for = "profession">选择职业</label> 
     <select id = "profession" class = "form-control"> 
      <option>软件工程师</option> 
      <option>测试工程师</option> 
      <option>硬件工程师</option> 
      <option>质量分析师</option> 
     </select> 
    </div> 
    <div class="form-group"> 
     <button type = "submit" class="btn-info btn-lg">提交</button> 
    </div> 
   </form> 
  </div> 
 </body> 
</html>

效果如下:

详解Bootstrap创建表单的三种格式(一)

如果我们将select的form-control去掉,并给input type = "file"加上form-control,看看效果如何。

详解Bootstrap创建表单的三种格式(一)

是不是能看出和上面效果的区别了呢?这样您大概明白form-control的作用了,它是设置外围的边框效果,包括宽、高、获取
焦点时form的样式。

内联表单(全部在同一行,display为inline-block)

如果需要创建一个表单,它的所有元素是内联的,向左对齐的,标签是并排的,请向 <form> 标签添加 class .form-inline。

因为head部分的内容都是一样的,所以我们只列出body部分的内容。

<body style="padding: 20px;"> 
 <form role = "form" class="form-inline"> 
  <div class = "form-group"> 
   <label for = "name">姓名</label> 
   <input type = "text" class = "form-control" id = "name" placeholder = "请输入姓名"></input> 
  </div> 
  <div class = "form-group"> 
   <label for = "tel">电话号码</label> 
   <input type="text" class="form-control" id = "tel" placeholder = "请输入您的电话号码"></input> 
  </div> 
  <div class = "form-group"> 
   <label for = "idCard">请上传身份证</label> 
   <input type = "file" id = "idCard"></input> 
  </div> 
  <div class = "form-group"> 
   <label for = "profession">选择职业</label> 
   <select id = "profession" class = "form-control"> 
    <option>软件工程师</option> 
    <option>测试工程师</option> 
    <option>硬件工程师</option> 
    <option>质量分析师</option> 
   </select> 
  </div> 
  <div class="form-group"> 
   <button type = "submit" class="btn-info btn-lg">提交</button> 
  </div> 
 </form>   
</body>

显示效果:

详解Bootstrap创建表单的三种格式(一)

默认情况下,Bootstrap 中的 input、select 和 textarea 有 100% 宽度。在使用水平表单时,您需要在表单控件上设置一个宽度。

使用 class .sr-only,可以隐藏内联表单的标签。

注:sr-only是展示给屏幕阅读器,而非是普通的读者看的。

其它元素在form的class为form-inline时,display为inLine-block;但是input tyoe = "file"却仍是display:block,可以看出其布局是有问题的,此时可以单独设置其display为inline-block;

水平表单(label和input等表单元素在同一行)

水平表单与其他表单不仅标记的数量上不同,而且表单的呈现形式也不同。如需创建一个水平布局的表单,请按下面的几个步骤进行:

     1、向父 <form> 元素添加 class .form-horizontal。
     2、把标签和控件放在一个带有 class .form-group 的 <div> 中。
     3、向标签添加 class .control-label。
     4、设置label和其兄弟div的宽度(因为input等默认宽度是100%)。

<body style="padding: 20px;"> 
 <form role = "form" class="form-horizontal"> 
  <div class = "form-group"> 
   <label class="col-sm-2 control-label" for = "name">姓名</label> 
   <div class="col-sm-2"> 
    <input type = "text" class = "form-control" id = "name" 
     placeholder = "请输入姓名"></input> 
   </div> 
  </div> 
  <div class = "form-group"> 
   <label class="col-sm-2 control-label" for = "tel">电话号码</label> 
   <div class="col-sm-2"> 
    <input type="text" class="form-control" id = "tel" 
      placeholder = "请输入您的电话号码"></input> 
   </div> 
  </div> 
  <div class = "form-group"> 
   <label class="col-sm-2 control-label" for = "idCard">请上传身份证</label> 
   <div class="col-sm-2"> 
    <input type = "file" id = "idCard" style="display:inline-block;"></input> 
   </div> 
  </div> 
  <div class = "form-group"> 
   <label class="col-sm-2 control-label" for = "profession">选择职业</label> 
   <div class="col-sm-2"> 
    <select id = "profession" class = "form-control"> 
     <option>软件工程师</option> 
     <option>测试工程师</option> 
     <option>硬件工程师</option> 
     <option>质量分析师</option> 
    </select> 
   </div> 
  </div> 
  <div class="form-group"> 
   <div class="col-sm-2 col-sm-offset-2"> 
    <button type = "submit" class="btn-info btn-lg">提交</button> 
   </div>    
  </div> 
 </form> 
</body>

效果:

详解Bootstrap创建表单的三种格式(一)

以上内容给大家介绍了Bootstrap创建表单的相关内容,希望大家喜欢。

Javascript 相关文章推荐
js 禁用只读文本框获得焦点时的退格键
Apr 25 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
Jun 14 Javascript
express的中间件cookieParser详解
Dec 04 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
Oct 08 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
Feb 09 Javascript
微信小程序实战之登录页面制作(5)
Mar 30 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
Bootstrap 树控件使用经验分享(图文解说)
Nov 06 Javascript
NW.js 简介与使用方法
Feb 01 Javascript
Angular4 反向代理Details实践
May 30 Javascript
基于JS实现带动画效果的流程进度条
Jun 01 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
Apr 30 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
Jan 04 #Javascript
学习javascript面向对象 javascript实现继承的方式
Jan 04 #Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 #Javascript
jQuery自动完成插件completer附源码下载
Jan 04 #Javascript
学习javascript面向对象 理解javascript对象
Jan 04 #Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 #Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 #Javascript
You might like
php生成随机密码的三种方法小结
2010/09/04 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
Python学习之time模块的基本使用
2021/01/17 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
村级个人对照检查材料
2014/08/22 职场文书
义诊活动通知
2015/04/24 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
Vue的生命周期一起来看看
2022/02/24 Vue.js
使用CSS实现音波加载效果
2023/05/07 HTML / CSS