CSS3让登陆面板3D旋转起来


Posted in HTML / CSS onMay 03, 2016

本文实例为大家分享了利用CSS3实现登陆面板3D旋转起来的具体代码,供大家参考,具体内容如下

效果图:

CSS3让登陆面板3D旋转起来

点击登陆,登陆面板会发生360度旋转,并显示信息。

CSS3让登陆面板3D旋转起来

旋转结束:

CSS3让登陆面板3D旋转起来

示例代码:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>     
  2. <html lang="en">     
  3. <head>     
  4.     <meta charset="UTF-8">     
  5.     <title>登陆面板旋转</title>     
  6.     <style>     
  7.         body {     
  8.             font-family: "Microsoft YaHei", "微软雅黑";     
  9.         }     
  10.      
  11.         .container {     
  12.             /*创建3D场景*/     
  13.             -webkit-perspective: 800;     
  14.             -webkit-perspective-origin: 50% 50%;     
  15.             -webkit-transform-style: -webkit-preserve-3d; /*告诉浏览器以下transform操作是在3D场景下进行的*/     
  16.         }     
  17.      
  18.         #login-panel {     
  19.             /*-webkit-transform: rotateX(45deg);*/     
  20.         }     
  21.      
  22.         .login {     
  23.             width: 500px;     
  24.             height: 400px;     
  25.             margin: 100px auto;     
  26.             text-align: center;     
  27.      
  28.             border: 1px solid #ABCDEF;     
  29.             border-radius: 10px;     
  30.             box-shadow: 0 0 3px 3px #ABCDEF;     
  31.         }     
  32.         .login h1 {     
  33.             margin: 50px 0;     
  34.         }     
  35.         .login-row span {     
  36.             font-size: 18px;     
  37.         }     
  38.         .login-row input {     
  39.             height: 25px;     
  40.             line-height: 25px;     
  41.             padding: 0 10px;     
  42.             margin: 10px 0;     
  43.         }     
  44.      
  45.         .btn {     
  46.             outline: none;     
  47.             background-color: aliceblue;     
  48.      
  49.             cursor: pointer;     
  50.             width: 90px;     
  51.             height: 40px;     
  52.             border: 1px solid #DDD;     
  53.             border-radius: 5px;     
  54.             margin: 30px 20px;     
  55.             font-size: 16px;     
  56.      
  57.             transition: background-color 0.5s;     
  58.             -webkit-transition: background-color 0.5s;     
  59.             -moz-transition: background-color 0.5s;     
  60.             -o-transition: background-color 0.5s;     
  61.         }     
  62.         .btn:hover {     
  63.             background-color: antiquewhite;     
  64.         }     
  65.      
  66.         .login-success {     
  67.             font-size: 20px;     
  68.             padding: 50px;     
  69.         }     
  70.     </style>     
  71.      
  72.     <script>     
  73.         var loginBtn, regiBtn;     
  74.         window.onload = function() {     
  75.             loginBtn = document.getElementById("login");     
  76.             loginBtn.onclick = rotate;     
  77.             regiBtn = document.getElementById("regi");     
  78.             regiBtn.onclick = rotate;     
  79.         };     
  80.      
  81.         function rotate() {     
  82.             var x = 0;     
  83.             var panel = document.getElementById("login-panel");     
  84.             panel.style.transform = "rotateX(0deg)";     
  85.             panel.style.webkitTransform = "rotateX(0deg)";     
  86.      
  87.             var flag = true;     
  88.             var timer = setInterval(function() {     
  89.                 if(Math.round(x) >= 90 && flag) {     
  90.                     panel.innerHTML = "<p class='login-success'>登陆成功</p>";     
  91.                     flag = false;     
  92.                 }     
  93.      
  94.                 if(Math.round(x) >= 358) {     
  95.                     panel.style.transform = "rotateX(360deg)";     
  96.                     panel.style.webkitTransform = "rotateX(360deg)";     
  97.                     clearInterval(timer);     
  98.                     return false;     
  99.                 } else {     
  100.                     x += 2 + (360 - x) / 60;     
  101.                     panel.style.transform = "rotateX(" + x + "deg)";     
  102.                     panel.style.webkitTransform = "rotateX(" + x + "deg)";     
  103.                 }     
  104.             }, 25);     
  105.         }     
  106.     </script>     
  107. </head>     
  108. <body>     
  109.     <div class="container">     
  110.         <div class="login" id="login-panel">     
  111.             <h1>登陆</h1>     
  112.             <div class="login-row">     
  113.                 <label for="username"><span>账号:</span></label>     
  114.                 <input type="text" id="username" name="username">     
  115.             </div>     
  116.             <div class="login-row">     
  117.                 <label for="password"><span>密码:</span></label>     
  118.                 <input type="password" id="password" name="password">     
  119.             </div>     
  120.             <div class="login-row">     
  121.                 <button id="login" class="btn" type="button">登陆</button>     
  122.                 <button id="regi" class="btn" type="button">注册</button>     
  123.             </div>     
  124.         </div>     
  125.     </div>     
  126. </body>     
  127. </html>    

以上就是本文的全部内容,希望对大家的学习有所帮助。

HTML / CSS 相关文章推荐
CSS3地图动态实例代码(圆圈向外扩散)
Jun 15 HTML / CSS
纯CSS3实现绘制各种图形实现代码详细整理
Dec 26 HTML / CSS
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
Jun 03 HTML / CSS
基于Jquery和Css3代码制作可以缩放的搜索框
Nov 19 HTML / CSS
css3边框_动力节点Java学院整理
Jul 11 HTML / CSS
CSS3实现红包抖动效果
Dec 23 HTML / CSS
HTML5实现视频直播功能思路详解
Nov 16 HTML / CSS
使用phonegap检测网络状态的方法
Mar 30 HTML / CSS
HTML5 本地存储和内容按需加载的思路和方法
Apr 07 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
Jul 07 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
Mar 04 HTML / CSS
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
May 07 HTML / CSS
关于css兼容性问题及一些常见问题汇总
May 03 #HTML / CSS
CSS3 3D旋转rotate效果实例介绍
May 03 #HTML / CSS
CSS3过渡transition效果实例介绍
May 03 #HTML / CSS
浅析rem和em和px vh vw和% 移动端长度单位
Apr 28 #HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
Apr 28 #HTML / CSS
CSS3的first-child选择器实战攻略
Apr 28 #HTML / CSS
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
Apr 26 #HTML / CSS
You might like
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
Php获取金书网的书名的实现代码
2010/06/11 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
javascript div 遮罩层封锁整个页面
2009/07/10 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
Python中列表(list)操作方法汇总
2014/08/18 Python
在Python中使用正则表达式的方法
2015/08/13 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
如何使用Pytorch搭建模型
2020/10/26 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
七年级历史教学反思
2014/02/05 职场文书
大学秋游活动方案
2014/02/11 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
晚会开幕词
2015/01/28 职场文书
仙境之桥观后感
2015/06/16 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
使用Redis做预定库存缓存功能
2022/04/02 Redis