Bootstrap

25

Validate

概念:

  • Validate是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验证。
  • 一个标准的验证方法库。

作用:

  • 内置验证规则:
    • 拥有必填、数字、Email、URL和信用卡号码等19类内置验证规则。
  • 自定义验证规则:
    • 可以很方便地自定义验证规则。
  • 简单强大的验证信息提示:
    • 默认了验证信息提示,并提供自定义覆盖默认的提示信息的功能。
  • 实时验证:
    • 可能通过keyup或blur事件触发验证,而不仅仅在表单提交的时候验证。

使用步骤:

  • 导入jQuery文件。
  • 导入validate.js。
  • 页面加载成功后,对表单进行验证,$("选择器").validate();
  • 在validate中编写校验规则。

参考资料:

Getting Started - BootstrapValidator (votintsev.ru)

jQuery Validate | 菜鸟教程 (runoob.com)

校验规则:

先看个普通校验:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script>
  </head>
  <body>
    <form
      action=""
      method="post"
      onsubmit="return checkFiled()"
      enctype="application/x-www-form-urlencoded"
    >
      <input
        type="text"
        name="username"
        id="username"
        placeholder="请输入用户名"
      /><br />
      <input
        type="password"
        name="pwd"
        id="pwd"
        placeholder="请输入密码"
      /><br />
      <input type="submit" value="提交" />
    </form>
    <script>
      function checkFiled() {
        var username = $("username").val();
        var pwd = $("pwd").val();
        if (username == null || username.trim().length == 0) {
          alert("username为空");
        }
        if (pwd == null || pwd.trim().length == 0) {
          alert("pwd为空");
        }
      }
    </script>
  </body>
</html>

使用validate进行校验:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script>
    <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>
    <!-- 中文提示(不加messages时起作用) -->
    <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/localization/messages_zh.js"></script>
  </head>
  <body>
    <form
      id="myform"
      action=""
      method=""
      enctype="application/x-www-form-urlencoded"
    >
      <input
        type="text"
        name="username"
        id="username"
        placeholder="请输入用户名"
      /><br />
      <input
        type="password"
        name="pwd"
        id="pwd"
        placeholder="请输入密码"
      /><br />
      <input type="submit" value="提交" />
    </form>
    <script>
      $(function () {
        $("#myform").validate({
          rules: {
            username: {
              required: true,
              maxlength: 10,
              minlength: 6,
            },
            pwd: {
              required: true,
              rangelength: [10, 6],
            },
          },
          messages: {
            username: {
              required: "用户名必填",
              maxlength: "最大长度为10",
              minlength: "最小长度为6",
            },
            pwd: {
              required: "密码必填",
              rangelength: "长度为${0}-${1}",
            },
          },
        });
      });
    </script>
  </body>
</html>

课堂案例

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script>
    <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>
    <!-- 中文提示(不加messages时起作用) -->
    <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/localization/messages_zh.js"></script>
  </head>
  <body>
    <form id="formId" action="">
      必填:<input type="text" name="username" /><br />
      必填数字:<input type="text" id="password" name="password" /><br />
      必填重复:<input type="text" name="repassword" /><br />
      最小值:<input type="text" name="minvalue" /><br />
      区间:<input type="text" name="qujian" /><br />
      <input type="submit" value="提交" />
    </form>
    <script>
      $(function () {
        $("#formId").validate({
          rules: {
            username: "required",
            password: {
              required: true,
              number: true,
            },
            repassword: {
              equalTo: "#password",
            },
            minvalue: {
              min: 10,
            },
            qujian: {
              range: [10, 20],
            },
          },
        });
      });
    </script>
  </body>
</html>

Bootstrap

概念:

  • 用于快速开发Web应用程序和网站的前端框架。
  • Bootstrap是基于HTML、CSS、JavaScript的。

特点:

  • 移动设备优先:自Bootstrap 3起,框架包含了贯穿于整个库的移动设备优先的样式。

浏览器支持:

  • 所有的主流浏览器都支持Bootstrap。
  • 容易上手:
    • 只要具备HTML和CSS的基础知识,就可以学习Bootstrap。
  • 响应式设计:
    • Bootstrap的响应式CSS能够自适应于台式机、平板电脑和手机。

使用步骤:

  • 下载:http://www.bootcss.com/。
  • 导入bootstrap.css文件。
  • 导入jquery.js文件。
  • 导入bootstrap.js文件。
  • 将所有的内容放到布局容器中。

组成:

  • 全局CSS的样式。
  • 组件。
  • JS插件。

参考资料:

Bootstrap 教程 | 菜鸟教程 (runoob.com)

Bootstrap4 教程 | 菜鸟教程 (runoob.com)

基本模板页面

<!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" />
    <title>Document</title>
    <!-- 新 Bootstrap 核心 CSS 文件 -->
    <link
      href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"
      rel="stylesheet"
    />
  </head>
  <body>
    <!-- 固定宽度:和窗口大小有关系 -->
    <div class="container" style="background-color: aqua">
      <h1>欢迎使用bootstrap</h1>
    </div>
    <!-- 完整宽度:和视口窗口大小有关 -->
    <div class="container-fluid" style="background-color: blue">
      <h2>布局容器的使用</h2>
    </div>
    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
  </body>
</html>

栅格系统

概念:

  • 一套响应式、移动设备优先的流式网格系统。
  • 随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。
  • 通过一系列的行(row)与列(column)的组合来创建页面布局。
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>栅格系统</title>
    <!-- 新 Bootstrap 核心 CSS 文件 -->
    <link
      href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"
      rel="stylesheet"
    />
    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <style>
      #div1 div {
        border: 1px solid green;
      }
      #div2 div {
        border: 1px solid yellow;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <div id="div1">
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">1</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">2</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">3</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">4</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">5</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">6</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">7</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">8</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">9</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">10</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">11</div>
        <div class="col-lg-1 col-md-2 col-sm-3 col-xs-4">12</div>
      </div>
      <div id="div2">
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
        <div class="col-sm-3">1</div>
      </div>
    </div>
  </body>
</html>

排版

标题:

  • HTML 中的所有标题标签,h1到h6均可使用。
  • 提供了.h1到.h6类,为的是给内联(inline)属性的文本赋予标题的样式。

对齐:

  • 通过文本对齐类,可以简单方便的将文字重新对齐。
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- 新 Bootstrap 核心 CSS 文件 -->
    <link
      href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"
      rel="stylesheet"
    />
    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
  </head>
  <body>
    <!-- 标题 -->
    <div class="container">
      <h1>阿松大</h1>
      <h2>阿松大</h2>
      <h3>阿松大</h3>
      <h4>阿松大</h4>
      <h5>阿松大</h5>
      <h6>阿松大</h6>
    </div>
    <hr />
    <!-- 对齐 -->
    <div class="container">
      <p class="text-center">阿松大</p>
      <p class="text-right">阿松大</p>
      <p class="text-left">阿松大</p>
    </div>
  </body>
</html>

表格

基本样式:.table。

行状态:通过状态类可以为行或单元格设置颜色。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- 新 Bootstrap 核心 CSS 文件 -->
    <link
      href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"
      rel="stylesheet"
    />
    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
  </head>
  <body>
    <table class="table table-striped table-bordered table-hover">
      <caption class="text-center">
        测试
      </caption>
      <tr>
        <th>书名</th>
        <th>书名</th>
        <th>书名</th>
      </tr>
      <tr class="info">
        <td>王五</td>
        <td>王五</td>
        <td>王五</td>
      </tr>
      <tr class="warning">
        <td>王五</td>
        <td>王五</td>
        <td>王五</td>
      </tr>
      <tr class="success">
        <td>王五</td>
        <td>王五</td>
        <td>王五</td>
      </tr>
    </table>
  </body>
</html>