bootstrap創建登錄註冊頁面

用bootstrap做登入註冊頁面,使用validate做表單驗證

技術:bootstrap,font-awesome,jQuery-validate;

特點:響應式佈局,表單驗證(用戶兩次密碼是否相同,必填信息是否填寫)背景圖片自適應屏幕大小;

宗旨:從實戰中學知識。


個人主頁:http://www.itit123.cn/ 更多幹貨等你來拿 (微信小程序入門教程:入門教程系列 ,提供免費的api接口,無需考慮服務端代碼問題)。

驗證碼實現功能 ITDragon博客


效果圖:




html代碼:

第三方資源的導入是用cdn引入;當然也可以自己去下載在本地導入。

  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="utf-8" />  
  5.         <title>bootstrap案例</title>  
  6.         <!--用百度的靜態資源庫的cdn安裝bootstrap環境-->  
  7.         <!-- Bootstrap 核心 CSS 文件 -->  
  8.         <link href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">  
  9.         <!--font-awesome 核心我CSS 文件-->  
  10.         <link href="//cdn.bootcss.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">  
  11.         <!-- 在bootstrap.min.js 之前引入 -->  
  12.         <script src="http://apps.bdimg.com/libs/jquery/2.0.0/jquery.min.js"></script>  
  13.         <!-- Bootstrap 核心 JavaScript 文件 -->  
  14.         <script src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>  
  15.         <!--jquery.validate-->  
  16.         <script type="text/javascript" src="js/jquery.validate.min.js" ></script>  
  17.         <script type="text/javascript" src="js/message.js" ></script>  
  18.         <style type="text/css">  
  19.             body{background: url(img/4.jpg) no-repeat;background-size:cover;font-size: 16px;}  
  20.             .form{background: rgba(255,255,255,0.2);width:400px;margin:100px auto;}  
  21.             #login_form{display: block;}  
  22.             #register_form{display: none;}  
  23.             .fa{display: inline-block;top: 27px;left: 6px;position: relative;color: #ccc;}  
  24.             input[type="text"],input[type="password"]{padding-left:26px;}  
  25.             .checkbox{padding-left:21px;}  
  26.         </style>  
  27.     </head>  
  28.     <body>  
  29.         <!--  
  30.             基礎知識:  
  31.             網格系統:通過行和列布局  
  32.             行必須放在container內  
  33.             手機用col-xs-*  
  34.             平板用col-sm-*  
  35.             筆記本或普通臺式電腦用col-md-*  
  36.             大型設備臺式電腦用col-lg-*  
  37.             爲了兼容多個設備,可以用多個col-*-*來控制;  
  38.         -->  
  39.     <div class="container">  
  40.         <div class="form row">  
  41.             <form class="form-horizontal col-sm-offset-3 col-md-offset-3" id="login_form">  
  42.                 <h3 class="form-title">Login to your account</h3>  
  43.                 <div class="col-sm-9 col-md-9">  
  44.                     <div class="form-group">  
  45.                         <i class="fa fa-user fa-lg"></i>  
  46.                         <input class="form-control required" type="text" placeholder="Username" name="username" autofocus="autofocus" maxlength="20"/>  
  47.                     </div>  
  48.                     <div class="form-group">  
  49.                             <i class="fa fa-lock fa-lg"></i>  
  50.                             <input class="form-control required" type="password" placeholder="Password" name="password" maxlength="8"/>  
  51.                     </div>  
  52.                     <div class="form-group">  
  53.                         <label class="checkbox">  
  54.                             <input type="checkbox" name="remember" value="1"/> Remember me  
  55.                         </label>  
  56.                         <hr />  
  57.                         <a href="javascript:;" id="register_btn" class="">Create an account</a>  
  58.                     </div>  
  59.                     <div class="form-group">  
  60.                         <input type="submit" class="btn btn-success pull-right" value="Login "/>     
  61.                     </div>  
  62.                 </div>  
  63.             </form>  
  64.         </div>  
  65.   
  66.         <div class="form row">  
  67.             <form class="form-horizontal col-sm-offset-3 col-md-offset-3" id="register_form">  
  68.                 <h3 class="form-title">Login to your account</h3>  
  69.                 <div class="col-sm-9 col-md-9">  
  70.                     <div class="form-group">  
  71.                         <i class="fa fa-user fa-lg"></i>  
  72.                         <input class="form-control required" type="text" placeholder="Username" name="username" autofocus="autofocus"/>  
  73.                     </div>  
  74.                     <div class="form-group">  
  75.                             <i class="fa fa-lock fa-lg"></i>  
  76.                             <input class="form-control required" type="password" placeholder="Password" id="register_password" name="password"/>  
  77.                     </div>  
  78.                     <div class="form-group">  
  79.                             <i class="fa fa-check fa-lg"></i>  
  80.                             <input class="form-control required" type="password" placeholder="Re-type Your Password" name="rpassword"/>  
  81.                     </div>  
  82.                     <div class="form-group">  
  83.                             <i class="fa fa-envelope fa-lg"></i>  
  84.                             <input class="form-control eamil" type="text" placeholder="Email" name="email"/>  
  85.                     </div>  
  86.                     <div class="form-group">  
  87.                         <input type="submit" class="btn btn-success pull-right" value="Sign Up "/>  
  88.                         <input type="submit" class="btn btn-info pull-left" id="back_btn" value="Back"/>  
  89.                     </div>  
  90.                 </div>  
  91.             </form>  
  92.         </div>  
  93.         </div>  
  94.     <script type="text/javascript" src="js/main.js" ></script>  
  95.     </body>  
  96. </html>  

js代碼:

可能有不合理的方法,畢竟筆者能力有限,如有更好的方法可以留言,我會及時修改。

[javascript] view plain copy
  1. $().ready(function() {  
  2.     $("#login_form").validate({  
  3.         rules: {  
  4.             username: "required",  
  5.             password: {  
  6.                 required: true,  
  7.                 minlength: 5  
  8.             },  
  9.         },  
  10.         messages: {  
  11.             username: "請輸入姓名",  
  12.             password: {  
  13.                 required: "請輸入密碼",  
  14.                 minlength: jQuery.format("密碼不能小於{0}個字 符")  
  15.             },  
  16.         }  
  17.     });  
  18.     $("#register_form").validate({  
  19.         rules: {  
  20.             username: "required",  
  21.             password: {  
  22.                 required: true,  
  23.                 minlength: 5  
  24.             },  
  25.             rpassword: {  
  26.                 equalTo: "#register_password"  
  27.             },  
  28.             email: {  
  29.                 required: true,  
  30.                 email: true  
  31.             }  
  32.         },  
  33.         messages: {  
  34.             username: "請輸入姓名",  
  35.             password: {  
  36.                 required: "請輸入密碼",  
  37.                 minlength: jQuery.format("密碼不能小於{0}個字 符")  
  38.             },  
  39.             rpassword: {  
  40.                 equalTo: "兩次密碼不一樣"  
  41.             },  
  42.             email: {  
  43.                 required: "請輸入郵箱",  
  44.                 email: "請輸入有效郵箱"  
  45.             }  
  46.         }  
  47.     });  
  48. });  
  49. $(function() {  
  50.     $("#register_btn").click(function() {  
  51.         $("#register_form").css("display""block");  
  52.         $("#login_form").css("display""none");  
  53.     });  
  54.     $("#back_btn").click(function() {  
  55.         $("#register_form").css("display""none");  
  56.         $("#login_form").css("display""block");  
  57.     });  
  58. });  

資源下載地址:http://download.csdn.net/detail/qq_19558705/9358603


現在我們開始談談所用到的知識點:

①bootstrap的佈局:

bootstrap用的是網格佈局,使用col-*-*

使用條件:要在.Container和.row下才能使用,結構如下:

  1. <div class="container">  
  2.    <div class="row">  
  3.       <div class="col-*-*"></div>  
  4.       <div class="col-*-*"></div>        
  5.    </div>  
  6.    <div class="row">...</div>  
  7. </div>  
參考值:
col-xs-*:小於768px,手機

col-sm-*:大於768px,平板

col-md-*:大於998px,普通電腦,筆記本之類

col-lg-*:大於1200px,一般爲大型臺式電腦

可以同時使用,達到跨多個設備效果

偏移:col-*-offset-*


②表單:

這裏的表單和普通表單沒什麼太多區別,我就不多說了。


③font-awesome的使用:

使用的是4.3.0版本,使用方法

  1. <i class="fa fa-check fa-lg"></i>  
fa-lg表示大圖

更多icon參考:http://fontawesome.dashgame.com/

jquery-validate表單驗證:

這是我要講的重點,

第一步:首先到導入jquery-validate第三方資源,

第二步:創建好form表單,初始化validate

[javascript] view plain copy
  1. $("#login_form").validate({  
  2.         rules: {  
  3.             username: "required",  
  4.             password: {  
  5.                 required: true,  
  6.                 minlength: 5  
  7.             },  
  8.         },  
  9.         messages: {  
  10.             username: "請輸入姓名",  
  11.             password: {  
  12.                 required: "請輸入密碼",  
  13.                 minlength: jQuery.format("密碼不能小於{0}個字 符")  
  14.             },  
  15.         }  
  16.     });  
注意這裏的login_form必須是form表單上的選擇器,筆者因爲將其設置在div上,控制檯顯示settings沒有被定義的錯誤。這裏的username和password都是form表單中的name值;rules是規則,message是提示的信息

required:true表示該字段爲必填,

minlength表示長度至少爲5,maxlength是HTML5支持的,所以不用在這裏面設置

equalTo表示與某某相同,後面接的是第一個值,"#id"或者是".class"

message中對應的內容後面就是提示的文字信息。可以直接copy我的代碼,然後根據自己的需要修改。


⑤背景自適應屏幕大小:

不知道前到處找文檔,知道後才發現好簡單,那就是background-size:cover;這樣可以做到背景圖片和瀏覽器大小一樣了。很簡單吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章