bootstrap使用教程学习笔记1——表单

什么是bootstrap?

是简单灵活的、用于搭建web页面的html、css、js工具集。

1.安装或使用官方cdn链接

下载地址:3.3.7版本
防止以上链接失效,附上网盘地址
这是预编译版本的,解压后目录如下:
这里写图片描述
也可以选择Download Source:下载源代码。但如果使用的是未编译的源代码,需要编译 LESS 文件来生成可重用的 CSS 文件。对于编译 LESS 文件,Bootstrap 官方只支持 Recess,这是 Twitter 的基于 less.js 的 CSS 提示。

重申一遍这里我们选择预编译版本啦~

当然如果不下载也可以使用官方提供的cdn链接:

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

bootstrap中所有的js插件都依赖于jQuery,因此jQuery要在Bootstrap前引用。

2.基本的html模板

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset = "utf-8">
    <!-- 下面这行代码用于在IE运行最新的渲染模式 -->
    <meta http-equiv="X-UA-Compatible" content = "IE=edge">
    <!--下面这行代码用于让开发的网站对移动设备友好,确保适当的绘制和触屏缩放(指定宽度为实际设备宽,初始缩放比例1) -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- 载入bootstrap的css样式-->
    <link href="//cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <!-- 以下两个插件用于在IE8以及以下版本浏览器支持HTML5元素和媒体查询,如果不需要用可以移除 -->
        <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->
</head>
<body>
    <h1>内容内容</h1>
    <p>内容内容</p>

    <!-- 加入jQuery和Bootstrap -->
    <script src="//cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
    <script src="//cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

</body>
</html>
3.表单
①基础表单示例
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基础表单</title>
    <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
</head>
<body>
<form role="form">
  <div class="form-group">
    <label for="exampleInputEmail1">邮箱:</label>
    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="请输入您的邮箱地址">
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">密码</label>
    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="请输入您的邮箱密码">
  </div>
  <div class="checkbox">
    <label>
      <input type="checkbox"> 记住密码
    </label>
  </div>
  <button type="submit" class="btn btn-default">进入邮箱</button>
</form> 
</body>
</html>

结果:
这里写图片描述

如果想写内联表单,则需要在<form>元素中添加类名“form-inline”,也即与上面的代码相比改动如下:

<form role="form" class="form-inline">
</form>

注意上文的label标签也放在容器“form-group”中。因为如果不放在里面会导致input换行显示。
结果:
这里写图片描述

②表单控件

为了让控件在各种表单风格中样式不出错,需要添加类名“form-control”,即上文的
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="请输入您的邮箱地址">

下拉选择框
<form role="form">
  <div class="form-group">
    <select class="form-control"> 
      <option>1</option> 
      <option>2</option> 
      <option>3</option> 
      <option>4</option> 
      <option>5</option> 
      </select>
  </div>

  <div class="form-group">
      <select multiple class="form-control"> 
        <option>1</option> 
        <option>2</option> 
        <option>3</option> 
        <option>4</option> 
        <option>5</option> 
      </select>
  </div>
</form>   

这是两种不同的下拉框样式:
这里写图片描述

文本域textarea
<form role="form">
  <div class="form-group">
    <textarea cols="20" rows="3"></textarea>
  </div>
</form> 

文本域和原始使用方法一样,设置rows可定义其高度,设置cols可以设置其宽度。但如果textarea元素中添加了类名“form-control”类名,则无需设置cols属性。因为Bootstrap框架中的“form-control”样式的表单控件宽度为100%或auto。
若不添加“form-control”而设定cols,则宽度为绝对宽度不会改变,且这样写默认为左对齐。

复选框checkbox和单选框radio

1、不管是checkbox还是radio都使用label包起来
2、checkbox连同label标签放置在一个名为“.checkbox”的容器内
3、radio连同label标签放置在一个名为“.radio”的容器内
示例:

<form role="form">
  <div class="checkbox">
    <label>
      <input type="checkbox" value="">
      记住密码
    </label>
  </div>
  <div class="radio">
    <label>
      <input type="radio" name="optionsRadios" id="optionsRadios1" value="love" checked>
      喜欢
    </label>
  </div>
    <div class="radio">
    <label>
      <input type="radio" name="optionsRadios" id="optionsRadios2" value="hate">
      不喜欢
    </label>
  </div>
</form>     

输出结果:
这里写图片描述

如果想要复选框或者单选框水平排列(显示在同一行而不是分行),加上class:checkbox-inline或radio-inline即可,以单选为例:
示例代码:

<div class="form-group">
    <label class="radio-inline">
      <input type="radio"  value="option1" name="sex">男性
    </label>
    <label class="radio-inline">
      <input type="radio"  value="option2" name="sex">女性
    </label>
    <label class="radio-inline">
      <input type="radio"  value="option3" name="sex">中性
    </label>
  </div>
按钮button

先来看看各类button长什么样:
这里写图片描述
输出以上内容的代码实现如下:

<table class="table table-bordered table-striped">  
    <thead>  
      <tr>  
        <th>Button</th>  
        <th>class=""</th>  
        <th>Description</th>  
      </tr>  
    </thead>  
    <tbody>  
      <tr>  
        <td><button class="btn" href="#">Default</button></td>  
        <td><code>btn</code></td>  
        <td>Standard gray button with gradient</td>  
      </tr>  
      <tr>  
        <td><button class="btn btn-primary" href="#">Primary</button></td>  
        <td><code>btn btn-primary</code></td>  
        <td>Provides extra visual weight and identifies the primary action in a set of buttons</td>  
      </tr>  
      <tr>  
        <td><button class="btn btn-info" href="#">Info</button></td>  
        <td><code>btn btn-info</code></td>  
        <td>Used as an alternative to the default styles</td>  
      </tr>  
      <tr>  
        <td><button class="btn btn-success" href="#">Success</button></td>  
        <td><code>btn btn-success</code></td>  
        <td>Indicates a successful or positive action</td>  
      </tr>  
      <tr>  
        <td><button class="btn btn-warning" href="#">Warning</button></td>  
        <td><code>btn btn-warning</code></td>  
        <td>Indicates caution should be taken with this action</td>  
      </tr>  
      <tr>  
        <td><button class="btn btn-danger" href="#">Danger</button></td>  
        <td><code>btn btn-danger</code></td>  
        <td>Indicates a dangerous or potentially negative action</td>  
      </tr>  
      <tr>  
        <td><button class="btn btn-inverse" href="#">Inverse</button></td>  
        <td><code>btn btn-inverse</code></td>  
        <td>Alternate dark gray button, not tied to a semantic action or use</td>  
      </tr>  
    </tbody>  
  </table>

其实还有两种按钮:
链接按钮,看起来和链接一样:

<button class="btn btn-link" type="button">链接按钮.btn-link</button> 

默认按钮:白底灰框黑字

<button class="btn btn-default" type="button">默认按钮</button>

控制按钮高度:利用类btn-lg、btn-sm和btn-xs(超小),使用方法和控件大小的使用方法相同。

利用btn-block可以实现块状按钮
这里写图片描述

禁用按钮的两种方式:

<button class="btnbtn-primary btn-lgbtn-block" type="button" disabled="disabled">通过disabled属性禁用按钮</button>
<button class="btnbtn-primary btn-block disabled" type="button">通过添加类名disabled禁用按钮</button>

区别:“.disabled”样式不会禁止按钮的默认行为,比如说提交和重置行为等。而在元素标签中添加“disabled”属性的方法是可以禁止元素的默认行为的。

一般制作按钮除了使用<button>标签元素之外,还可以使用<input type="submit"><a>标签等。
注意:虽然在Bootstrap框架中使用任何标签元素都可以实现按钮风格,但并不建议这样使用,为了避免浏览器兼容性问题,建议使用button或a标签来制作按钮。
我们还是来看一下button的多标签支持,以下这些标签的效果都是一样的:
(注意要在制作按钮的标签元素上添加类名“btn”。如果不添加是不会有任何效果的)

<button class="btn btn-default" type="button">button标签按钮</button> 
<input type="submit" class="btn btn-default" value="input标签按钮"/>
<a href="##" class="btn btn-default">a标签按钮</a>
<span class="btn btn-default">span标签按钮</span>  
<div class="btn btn-default">div标签按钮</div>  
控件大小

控制控件高度的类:
1、input-sm:让控件比正常高度小
2、input-lg:让控件比正常高度大
控制控件水平长度:col-xs-数字
示例:

<form role="form" class="form-horizontal">
  <div class="form-group">
    <div class="col-xs-4">
      <input class="form-control input-lg" type="text" placeholder=".col-xs-4">
    </div>
    <div class="col-xs-4">
      <input class="form-control input-lg" type="text" placeholder=".col-xs-4">
    </div>
    <div class="col-xs-4">
      <input class="form-control input-lg" type="text" placeholder=".col-xs-4">
    </div>
  </div>
  <div class="form-group">
    <div class="col-xs-6"><input class="form-control" type="text" placeholder=".col-xs-6"></div>
    <div class="col-xs-6"><input class="form-control" type="text" placeholder=".col-xs-6"></div>

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

输出:
这里写图片描述

注意当col-xs-后面的数字之和大于12时会被自动换行。小于是没关系的。

控件状态:焦点、禁用、验证

①焦点状态
焦点状态其实在上文的代码中都已经实现了,就是给控件添加类名form-control
它通过伪类“:focus实现”,bootstrap.css文件第1707行~第1712行源码:

.form-control:focus {
border-color: #66afe9;
outline: 0;
  -webkit-box-shadow: inset 0 1px 1pxrgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
box-shadow: inset 0 1px 1pxrgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
}

②禁用状态:
在需要禁用的表单控件上加上disabled属性
示例:<input class="form-control" type="text" placeholder="表单已禁用,不能输入" disabled>
输出:这里写图片描述
在使用了“form-control”的表单控件中,样式设置了禁用表单背景色为灰色,而且手型变成了不准输入的形状。如果控件中不使用类名“form-control”,禁用的控件只会有一个不准输入的手型出来。

如果fieldset设置了disabled属性,整个域都将处于被禁用状态。
示例:

<form role="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> 

但也有例外,那就是对于整个禁用的域中,如果legend中有输入框的话,这个输入框是无法被禁用的。
像这样:

<fieldset disabled>
    <legend><input type="text" class="form-control" placeholder="显然我颜色变灰了,但是我没被禁用,不信?单击试一下" /></legend>
  </fieldset>

它的颜色变为灰色,且手型变成了不准输入的形状,但是却可以进行单击输入。

③验证状态
在Bootstrap框架中同样提供这几种效果。
1、.has-warning:警告状态(黄色)
2、.has-error:错误状态(红色)
3、.has-success:成功状态(绿色)
使用的时候只需要在form-group容器上对应添加状态类名。
示例:

<form role="form">
<div class="form-group has-success">
  <label class="control-label" for="inputSuccess1">成功状态</label>
  <input type="text" class="form-control" id="inputSuccess1" placeholder="成功状态" >
</div>
<div class="form-group has-warning">
  <label class="control-label" for="inputWarning1">警告状态</label>
  <input type="text" class="form-control" id="inputWarning1" placeholder="警告状态">
</div>
<div class="form-group has-error">
  <label class="control-label" for="inputError1">错误状态</label>
  <input type="text" class="form-control" id="inputError1" placeholder="错误状态">
</div>
</form>

输出:
这里写图片描述

如果想让表单在对应的状态下显示 icon ,只需要在对应的状态下添加类名“has-feedback”。请注意,此类名要与“has-error”、“has-warning”和“has-success”在一起。而且必须在表单中添加一个 span 元素:

<span class="glyphiconglyphicon-warning-sign form-control-feedback"></span>

代码:

<form role="form">
  <div class="form-group has-success has-feedback">
    <label class="control-label" for="inputSuccess1">成功状态</label>
    <input type="text" class="form-control" id="inputSuccess1" placeholder="成功状态" >
    <span class="glyphicon glyphicon-ok form-control-feedback"></span>
  </div>
  <div class="form-group has-warning has-feedback">
    <label class="control-label" for="inputWarning1">警告状态</label>
    <input type="text" class="form-control" id="inputWarning1" placeholder="警告状态">
    <span class="glyphicon glyphicon-warning-sign form-control-feedback"></span>
  </div>
  <div class="form-group has-error has-feedback">
    <label class="control-label" for="inputError1">错误状态</label>
    <input type="text" class="form-control" id="inputError1" placeholder="错误状态">
    <span class="glyphicon glyphicon-remove form-control-feedback"></span>  
  </div>

</form>

输出:
这里写图片描述

表单提示信息

使用”help-block”样式,将提示信息以块状显示,并且显示在控件底部。并且提示信息的颜色与表单的验证状态颜色相同。
使用方法:

<form role="form">
  <div class="form-group has-success has-feedback">
    <label class="control-label" for="inputSuccess1">成功状态</label>
    <input type="text" class="form-control" id="inputSuccess1" placeholder="成功状态" >
    <span class="help-block">你输入的信息是正确的</span>
    <span class="glyphicon glyphicon-ok form-control-feedback"></span>
  </div>
</form> 

输出:
这里写图片描述

图标

在上文说button的验证状态时我们用到过图标。
图标的使用非常简单:

<span class="glyphicon glyphicon-search"></span>
<span class="glyphicon glyphicon-asterisk"></span>

可用图标及其对应名称的链接:bootstrap组件

图像

在Bootstrap框架中对于图像的样式风格提供以下几种风格:

1、img-responsive:响应式图片,主要针对于响应式设计
2、img-rounded:圆角图片
3、img-circle:圆形图片
4、img-thumbnail:缩略图片

<img  alt="140x140" src="http://placehold.it/140x140">
<img  class="img-rounded" alt="140x140" src="http://placehold.it/140x140">
<img  class="img-circle" alt="140x140" src="http://placehold.it/140x140">
<img  class="img-thumbnail" alt="140x140" src="http://placehold.it/140x140">
<img  class="img-responsive" alt="140x140" src="http://placehold.it/140x140">
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值