怎么用CSS3实现登陆面板3D旋转效果

发布时间:2021-08-12 16:22:58 作者:chen
来源:亿速云 阅读:141

这篇文章主要讲解了“怎么用CSS3实现登陆面板3D旋转效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用CSS3实现登陆面板3D旋转效果”吧!

本文实例为大家分享了利用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 h2 {     

  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.             <h2>登陆</h2>     

  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>    

感谢各位的阅读,以上就是“怎么用CSS3实现登陆面板3D旋转效果”的内容了,经过本文的学习后,相信大家对怎么用CSS3实现登陆面板3D旋转效果这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. JS实现骰子3D旋转效果
  2. Android如何实现3D星体旋转效果

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css3

上一篇:Docker中maven插件怎么使用

下一篇:Struts2 中json插件如何使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》