Bootstrsp 表单

摘要:bootstrap提供了三种表单布局:垂直表单,内联表单和水平表单。本文主要对这三种表单布局做一下基础的介绍,以及对表单控件做简要概括。

1.垂直表单

垂直表单也称基础表单。其基本结构如下:

<form role="form">
  <div class="form-group">
    <label for="name">用户名</label>
    <input class="form-control" id="name" type="text">
  </div>
  <div class="form-group">
    <label for="name">年龄</label>
    <input class="form-control" id="name" type="number">
  </div>
  <div class="form-group">
       ...
  </div>
       ...
</form>

结果显示如下(呈垂直状态):

其中,向所有的文本元素<input>、<textarea>、<select>添加 .form-control 类。以便获得相应的样式。读者可自行去掉该类,查看变化(圆角,宽度,边框阴影)。

2. 内联表单

内联表单的所有元素都是内联的,向左对齐,标签并排。其基本结构如下:

注意代码第一行<form>标签中类的变化

<form role="form" class="form-inline">
    <div class="form-group">
        <label>名称</label>
        <input class="form-control" type="text" placeholder="请输入您的名称">
    </div>
    <div class="form-group">
        <label for="name">年龄</label>
        <input class="form-control" id="name" type="number" placeholder="请输入您的年龄">
    </div>
        <div class="form-group">
                    ...
        </div>
                    ...
</form>
        

结果显示如下(标签是并排的,向左对齐):

另外,可以向上面代码中的<label>标签中加入类 .sr-only,隐藏内联表单的标签 。即隐藏 “名称” 和 “年龄”

3.水平表单

水平表单创建比以上两种表单复杂,但是了解其基本结构之后也比较容易掌握。基本结构如下:

注意<form>标签中类的变化! form-horizontal

<form role="form" class="form-horizontal">
  <div class="form-group">
    <label for="name" class="control-label col-md-2">姓名:</label>
    <div class="col-md-10">
        <input class="form-control" id="name" type="text">
    </div>
  </div>
  <div class="form-group">
    <label for="age" class="control-label col-md-2">年龄:</label>
    <div class="col-md-10">
        <input class="form-control" id="age" type="number">
    </div>
  </div>
  <div class="form-group">
    <label class="control-label col-md-2">性别:</label>
    <div class="col-md-10">
        <div class="radio">
            <label class="control-label"><input type="radio" name="optionsRadios" value="man">男</label>
            <label class="control-label"><input type="radio" name="optionsRadios" value="woman">女</label>
        </div>
    </div>
  </div>
                            ...
</form>

结果显示如下(呈水平状态):

需要注意的是,在水平表单中,要向<label>标签添加 class="control-label" 类。

4. 支持的表单控件

4.1 输入框

  输入框input是最常见的表单文本字段。bootstrap支持所有的原声html5的input类型。其中有: text、password、datetime、datetime-local、date、month、time、week、number、email、url、search、tel以及color。

<form class="form-horizontal">
    <div class="form-group">
        <label class="control-label col-md-2">输入框1</label>
        <div class="col-md-10">
            <input type="text" class="form-control" placeholder="text">
        </div>
    </div>
    <div class="form-group">
        <label class="control-label col-md-2">密码</label>
        <div class="col-md-10">
            <input type="password" class="form-control" placeholder="password">
        </div>
    </div>
    <div class="form-group">
        <label class="control-label col-md-2">日期date</label>
        <div class="col-md-10">
            <input type="date" class="form-control">
        </div>
    </div>
    <div class="form-group">
        <label class="control-label col-md-2">日期datetime-local</label>
        <div class="col-md-10">
            <input type="datetime-local" class="form-control">
        </div>
    </div>
         ...
</form>

结果如下,日期是可以自己选择的:

4.2 文本框(textarea)

文本框支持多行输入,可以根据其属性 rows 来控制文本框的大小。另外爱bootstrap框架中要对齐使用类 .form-control

代码举例:

<form role="form">
    <div class="form-group">
        <label>3行的文本框</label>
        <textarea class="form-control" rows="3" placeholder="三行的输入框"></textarea>
    </div>
</form>

结果显示如下:

4.3 复选框(checkbox ) 和  单选框( radio)

复选框(checkbox )可以选取多个选项,单选框( radio)只能选中一个选项。下面包括默认的和内联(checkbox-inline)的复选和单选的实例,具体的用法:

<form role="form">
    <div class="form-group">
        <div class="checkbox">
            <label><input type="checkbox" value="">选项1<label>
        </div>
        <div class="checkbox">
            <label><input type="checkbox" value="">选项2</label>
        </div>
        <div class="checkbox">
            <label><input type="checkbox" value="">选项3</label>
        </div>
        <div class="radio">
            <label><input type="radio" name="optionsRadios" value="">选项1</label>
        </div>
        <div class="radio">
            <label><input type="radio" name="optionsRadios" value="">选项2</label>
        </div>
    </div>
    <div class="form-group">
        <label class="checkbox-inline">
            <input type="checkbox" value="">选项1
        </label>
        <label class="checkbox-inline">
            <input type="checkbox" value="">选项2
        </label>
        <label class="checkbox-inline">
            <input type="checkbox" value="">选项3
        </label>

        <label class="checkbox-inline">
            <input type="radio" name="optionsRadios">选项1
        </label>
        <label class="checkbox-inline">
            <input type="radio" name="optionsRadios">选项2
        </label>
    </div>
</form>

结果显示如下,水平排列的属于内联模式:

4.4 选择框(select)

多选一,或者多选多都可以使用选择框select、下面给出一个实例

<form role="form">
    <div class="form-group">
        <label for="name">选择列表</label>
        <select class="form-control" id="name">
            <option>选项1</option>
            <option>选项2</option>
            <option>选项3</option>
            <option>选项4</option>
        </select>

        <label for="multi">多选列表</label>
        <select class="form-control" id="multi" multiple>
            <option>选项1</option>
            <option>选项2</option>
            <option>选项3</option>
            <option>选项4</option>
        </select>
    </div>
</form>

结果显示如下:

4.5 静态控件(.form-control-static)

静态控件主要用于在一个水平表单内的表单标签后放置纯文本。实例如下:

<form class="form-horizontal" role="form">
    <div class="form-group">
        <label class="col-sm-2 control-label">有限</label>
        <div class="col-sm-10">
            <p class="form-control-static">[email protected]</p>
        </div>
    </div>
    <div class="form-group">
        <label for="inputPassword" class="col-sm-2 control-label">密码</label>
        <div class="col-sm-10">
            <input type="password" class="form-control" id="inputPassword" placeholder="请输入密码">
        </div>
    </div>
</form>

结果显示如下:

4.6 表单控件状态

表单控件状态主要有,输入框聚焦,输入框禁用( input disabled)、字段集禁用(fieldset disabled)以及验证状态(has-error、has-warning、has-success)。

实例如下:

<form role="form" class="form-horizontal">
    <div class="form-group">
        <label class="control-label col-md-2">聚焦</label>
        <div class="col-md-10">
            <input type="text" class="form-control" placeholder="鼠标点击聚焦查看效果">
        </div>
    </div>
    <div class="form-group">
        <label class="col-md-2 control-label">禁用的输入框</label>
        <div class="col-md-10">
            <input type="text" class="form-control"
            placeholder="该输入框禁用<input type=‘text‘ class=‘form-control‘ disabled >" disabled>
        </div>
    </div>
    <p>以下两个控件属于fieldset内的</p>
    <fieldset disabled>
        <div class="form-group">
            <label class="control-label col-md-2">禁止输入(fieldset-disabled)</label>
            <div class="col-md-10">
                <input class="form-control" type="text" placeholder="禁止输入<fieldset disabled>">
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-md-2">禁止选择(fieldset-disabled)</label>
            <div class="col-md-10">
                <select class="form-control">
                    <option>禁止选择</option>
                    <option>禁止选择2</option>
                </select>
            </div>
        </div>
    </fieldset>
    <div class="form-group has-warning">
        <label class="col-md-2 control-label">输入警告</label>
        <div class="col-md-10">
            <input class="form-control" type="text" placeholder="输入警告<div class=‘form-control has-warning‘>">
        </div>
    </div>
    <div class="form-group has-success">
        <label class="col-md-2 control-label">输入成功</label>
        <div class="col-md-10">
            <input class="form-control" type="text" placeholder="输入成功<div class=‘form-control has-success‘>">
        </div>
    </div>
    <div class="form-group has-error">
        <label class="col-md-2 control-label">输入错误</label>
        <div class="col-md-10">
            <input class="form-control" type="text" placeholder="输入错误<div class=‘form-control has-error‘>">
        </div>
    </div>

</form>

结果显示如下:

4.7 表单控件大小

使用class.input-lg 和.col-lg-*设置表单的高度喝宽度,实例如下:

<form role="form">
    <div class="form-group">
        <input class="form-control input-lg" placeholder=".input-lg">
    </div>
    <div class="form-group">
        <input class="form-control input-md" placeholder=".input-md">
    </div>
    <div class="form-group">
        <input class="form-control input-xs" placeholder=".input-xs">
    </div>
    <div class="form-group">
        <input class="form-control input-sm" placeholder=".input-sm">
    </div>
    <div class="row">
        <div class="col-lg-3">
             <input type="text" class="form-control" placeholder=".col-lg-3">
        </div>
        <div class="col-lg-5">
             <input type="text" class="form-control" placeholder=".col-lg-5">
        </div>
        <div class="col-lg-7">
             <input type="text" class="form-control" placeholder=".col-lg-7">
        </div>
    </div>
</form>

结果显示如下:

从上图中可以看到.col-lg-*并没有改变表单元素的宽度。原因待查!

4.8 表单帮助文本(.help-block)

bootstrap表单控件可以在输入框input上有一个块级帮助文本。为了使该文本与输入框等宽,请在input后使用.help-block.实例如下:

<form role="form">
  <div class="form-group">
    <label for="name">用户名</label>
    <input class="form-control" id="name" type="text">
  </div>
  <div class="form-group">
    <label for="name">年龄</label>
    <input class="form-control" id="name" type="number">
  </div>
  <div class="form-group">
    <label>性别:</label>
    <div class="radio">
        <label>
            <input type="radio" name="optionsRadios" value="man">男
        </label>
    </div>
    <div class="radio">
        <label>
            <input type="radio" name="optionsRadios" value="woman">女
        </label>
    </div>
  </div>
  <div class="from-group">
    <label for="pic">请上传一张头像</label>
    <input type="file" id="pic">
    <p class="help-block">该照片的大小不超过50M,请选择照片是自行处理</p>
  </div>
  <div class="form-group">
    <button type="submit" class="btn btn-primary">注册</button>
  </div>
</form>

结果显示如下,浅颜色的字体即为帮助文本:

5.总结

在表单内加入<div class="form-group">...</div>,可以使控件之间留有适当的距离。

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

5.1 父<form>元素

  垂直表单:<form role="form">。标签和控件放在<div class="form-group">...</div>中

  内联表单:<form class="form-inline" role="form">.

  水平表单:<form class="form-horizontal" role="form">. 内部通过.col-md-*来分布每个<div class="form-      group">...</div>每列占用的列数。向标签<label>添加类 .control-label

5.2 输入框支持类型

input中的type可以是以下几种:

text、password、datetime、datetime-local、date、month、time、week、number、email、url、search、tel、color

5.3 文本框通过rows调整大小

5.4 复选框和单选按钮

一共有两种形式:默认的和内联的(checkbox-inline)。

5.5 选择框(select)

  多选一,多选多(multiple)

5.6 静态控件:

  <p class="form-control-static">文本内容</p>

5.7 控件状态

禁用:disabled

  验证状态:has-warning、has-error、has-success。包含在<div class="form-group has-warning">.因为字体也要跟着变化。

5.8 控件大小

利用.input-lg、.input-md、.input-xs、.input-sm来调整控件的高度。

利用.col-lg-* 、.col-md-*、.col-sm-*、col-xs-*来调整宽度(暂时没有生效,可能是我用法不对,原因待查)

5.9 帮助文本

在输入框之后使用 .help-block

时间: 2024-11-11 10:43:38

Bootstrsp 表单的相关文章

Django表单上传

任务描述:实现表单提交(上传文件) 1.项目目录: 2.源代码: regist.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>regist</title> </head> <body> <h3>regist</h3> <hr> <

表单的作用

①input的作用分为:单选按钮.文本框.密码框.复选按钮.隐藏表单域.文本选择框.图片按钮.普通按钮.提交按钮.重置按钮 ②select的作用:可创建单选或多选菜单,含有<option>标签 在HTML5中的新属性:1.autofocus属性            值autofocus                     规定在页面加载后文本区域自动获得焦点: 2.disabled                        disabled                      

JS设置读取删除cookie及表单交互

学习cookie和表单交互留下的一点笔记 什么是cookie?cookie 是存储于客户端的变量.当设备请求页面时,就会发送cookie.首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式.各个cookie之间一般是以";"分隔.JS设置cookie:document.cookie= key + '=' + value + ';expires=' + Date;其中Date为cookie的过期时间.实际案例: //setCo

HTML中的表格、表单元素与框架的构建

表格 <table></table>表格 width: 宽度可用像素或百分比: height:高度可用像素或百分比: border:边框宽度: cellpadding:内容跟单元格边框的边距 常用0: cellspacing:单元格之间的间距  常用0: align: 对齐方式: bgcolor:背景色: <tr></tr> 行 align:一行内容的水平对齐方式: valign: 垂直对齐方式: <td></td> 单元格 <

form表单那点事儿(上) 基础篇

做为html中最为常见,应用最广泛的标签之一,form常伴随前端左右.了解更深,用的更顺. 目录: 表单属性 表单元素 常识 模拟外观 表单属性 这个表单展示了form表单常用的属性 属性名 属性值 描述 action 一个url地址 指定表单提交到的地址 method `GET` , `POST` 表单将以此种方法提交到服务器 target `_self` 当前页面 `_blank` 每次在新窗口打开 `blank` 每次在同一个新窗口打开 `_parent` 父级frame `_top` 顶

html(五) -- 表单标签

表单标签: 表单标签的作用是用于提交数据给服务器的. 表单标签的根标签是<form>标签 常用的属性:    action: 该属性是用于指定提交数据的地址.    method: 指定表单的提交方式.            get : 默认使用的提交方式.  提交的数据会显示在地址栏上.            post :  提交的数据不会显示在地址栏上.注意: 表单项的数据如果需要提交到服务器上面,那么表单项必须要有name的属性值. 代码示例: 1 <!DOCTYPE html&g

python :表单验证--对每一个输入框进行验证

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="UTF-8"/> <title>Title</title> <style> .error{ color

VALIDFORM前端小插件实现表单验证;

好开心啊,有了这个小插件就不用在服务器端去写用户输入的东西是否合法,又美观: 这个是官网,使用入门那儿很简单,不如直接改demo; 下载的demo就是这个: 小李子(永奇商城注册页面表单验证): 就是这个,那个邮箱正则验证效果如何加上去的呢: 看demo就知道(把demo里面之中整个demo文件夹拷贝在项目之中,将css之中validform必须的留下,其他删除掉,也就是demo文件夹里面/*==========以下部分是Validform必须的===========*/这一行字下面的css样式

HTML:图片热点 网页划区 表单

图片热点: 划出图片中的区域,做超链接,点击该区域就可以直接跳转到链接网站 <img src="../../../3.jpg" title="血精灵" usemap="jingling" /> <map name="jingling"> <area shape="rect" coords="52,217,288,395" href="http://