表单/表格

CSS3动画特效的时尚登录界面UI设计

阿里云


这是一款非常时尚的 jQuery 和 CSS3 登录界面 UI 设计。该登录界面采用扁平化风格,在用户点击登录按钮之后,界面会分为两个部分:一部分将原来的界面 3D 倾斜,另一部分是弹出一个带光波效果的 loading 指示器。该设计非常时尚和协调该登录界面特效依赖于 jQueryUI,使用时要引入相关依赖文件。

  1. <link rel='stylesheet prefetch' href='http://libs.useso.com/js/jqueryui/1.10.4/css/jquery-ui.min.css'>
  2. <script src='http://libs.useso.com/js/jqueryui/1.10.4/jquery-ui.min.js'></script>
也想出现在这里?联系我们
创客主机

HTML 结构

该登录界面的 HTML 结构分为 2 个部分:一个是登录界面 div.login,另一个是显示登录进度的界面 div.authent。登录成功之后的界面包含在登录界面中。

  1. <div class='login'>
  2.   <div class='login_title'>
  3.     <span>Login to your account</span>
  4.   </div>
  5.   <div class='login_fields'>
  6.     <div class='login_fields__user'>
  7.       <div class='icon'>
  8.         <img src='img/user_icon_copy.png'>
  9.       </div>
  10.       <input placeholder='Username' type='text'>
  11.         <div class='validation'>
  12.           <img src='img/tick.png'>
  13.         </div>
  14.       </input>
  15.     </div>
  16.     <div class='login_fields__password'>
  17.       <div class='icon'>
  18.         <img src='img/lock_icon_copy.png'>
  19.       </div>
  20.       <input placeholder='Password' type='password'>
  21.       <div class='validation'>
  22.         <img src='img/tick.png'>
  23.       </div>
  24.     </div>
  25.     <div class='login_fields__submit'>
  26.       <input type='submit' value='Log In'>
  27.       <div class='forgot'>
  28.         <a href='#'>Forgotten password?</a>
  29.       </div>
  30.     </div>
  31.   </div>
  32.   <div class='success'>
  33.     <h2>Authentication Success</h2>
  34.     <p>Welcome back</p>
  35.   </div>
  36.   <div class='disclaimer'>
  37.     <p>...</p>
  38.   </div>
  39. </div>
  40. <div class='authent'>
  41.   <img src='img/puff.svg'>
  42.   <p>Authenticating...</p>
  43. </div>

CSS 样式

在 CSS 样式中,整个 login 登录界面设置了各种过渡动画 transition 属性,并修改了它的 transform 原点位置。刚开始的时候它的旋转角度为 0 度。登录界面的大小设置了一个固定值,宽度为 240 像素,高度为 300 像素。初始透明度设置为 1。

  1. body .login {
  2.   opacity: 1;
  3.   top: 20px;
  4.   -webkit-transition-timing-function: cubic-bezier(0.68, -0.25, 0.265, 0.85);
  5.   -webkit-transition-property: -webkit-transform,opacity,box-shadow,top,left;
  6.           transition-property: transform,opacity,box-shadow,top,left;
  7.   -webkit-transition-duration: .5s;
  8.           transition-duration: .5s;
  9.   -webkit-transform-origin: 161px 100%;
  10.       -ms-transform-origin: 161px 100%;
  11.           transform-origin: 161px 100%;
  12.   -webkit-transform: rotateX(0deg);
  13.           transform: rotateX(0deg);
  14.   position: relative;
  15.   width: 240px;
  16.   border-top: 2px solid #D8312A;
  17.   height: 300px;
  18.   position: absolute;
  19.   left: 0;
  20.   right: 0;
  21.   margin: auto;
  22.   top: 0;
  23.   bottom: 0;
  24.   padding: 100px 40px 40px 40px;
  25.   background: #35394a;
  26.   /* Old browsers */
  27.   /* FF3.6+ */
  28.   background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, #35394a), color-stop(100%, #1f222e));
  29.   /* Chrome,Safari4+ */
  30.   background: -webkit-linear-gradient(45deg, #35394a 0%, #1f222e 100%);
  31.   /* Chrome10+,Safari5.1+ */
  32.   /* Opera 11.10+ */
  33.   /* IE10+ */
  34.   background: linear-gradient(45deg, #35394a 0%, #1f222e 100%);
  35.   /* W3C */
  36.   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#35394a', endColorstr='#1f222e',GradientType=1 );
  37.   /* IE6-9 fallback on horizontal gradient */
  38. }

在用户点击了登录提交按钮之后,.login 元素被添加了 class test。这个 class 将登录界面绕 X 轴旋转 70 度,并缩小 0.8 倍,最后使用 CSS 过滤器将它进行模糊处理。

  1. body .test {
  2.   box-shadow: 0px 20px 30px 3px rgba(0, 0, 0, 0.55);
  3.   pointer-events: none;
  4.   top: -100px !important;
  5.   -webkit-transform: rotateX(70deg) scale(0.8) !important;
  6.           transform: rotateX(70deg) scale(0.8) !important;
  7.   opacity: .6 !important;
  8.   -webkit-filter: blur(1px);
  9.           filter: blur(1px);
  10. }

在 300 毫秒延迟之后,在为它添加 testtwo class。这个 class 将它向左移动 320 像素。

  1. body .testtwo {
  2.   left: -320px !important;
  3. }

接下来的动画效果主要在 jQuery 代码中完成:在 500 毫秒延迟之后,登录 loading 指示器界面出现,并向右移动一段距离。

  1. setTimeout(function () {
  2.     $('.authent').show().animate({ right: -320 }, {
  3.         easing: 'easeOutQuint',
  4.         duration: 600,
  5.         queue: false
  6.     });
  7.     $('.authent').animate({ opacity: 1 }, {
  8.         duration: 200,
  9.         queue: false
  10.     }).addClass('visible');

在 2500 毫秒延迟之后,登录 loading 指示器界面往回移动,并通过设置透明度为 0 将它隐藏。同时登录界面上移除 class testtwo,登录界面也会从左向右移动一段距离。

  1. setTimeout(function () {
  2.     $('.authent').show().animate({ right: 90 }, {
  3.         easing: 'easeOutQuint',
  4.         duration: 600,
  5.         queue: false
  6.     });
  7.     $('.authent').animate({ opacity: 0 }, {
  8.         duration: 200,
  9.         queue: false
  10.     }).addClass('visible');
  11.     $('.login').removeClass('testtwo');
  12. }, 2500);

在 2800 毫秒之后,登录界面的 test class 被移除,它会旋转回 0 度,模糊效果也被移除。.login 下面的所有<div>元素在 123 毫秒时间内淡出隐藏。3200 毫秒延迟之后登录成功界面.success 淡入显示。

  1. setTimeout(function () {
  2.     $('.login').removeClass('test');
  3.     $('.login div').fadeOut(123);
  4. }, 2800);              
  5. setTimeout(function () {
  6.     $('.success').fadeIn();
  7. }, 3200);

整个登录界面的动画效果基本上就是这样,具体的代码请参考下载文件。

CSS3 动画特效的时尚登录界面 UI 设计

已有 567 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(1)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!