首页 > 开发 > CSS > 正文

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

2024-07-11 08:33:02
字体:
来源:转载
供稿:网友

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

效果图:

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

旋转结束:

示例代码:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>      <html lang="en">     
  2. <head>          <meta charset="UTF-8">     
  3.     <title>登陆面板旋转</title>          <style>     
  4.         body {                  font-family: "Microsoft YaHei", "微软雅黑";     
  5.         }           
  6.         .container {                  /*创建3D场景*/     
  7.             -webkit-perspective: 800;                  -webkit-perspective-origin: 50% 50%;     
  8.             -webkit-transform-style: -webkit-preserve-3d; /*告诉浏览器以下transform操作是在3D场景下进行的*/              }     
  9.               #login-panel {     
  10.             /*-webkit-transform: rotateX(45deg);*/              }     
  11.               .login {     
  12.             width: 500px;                  height: 400px;     
  13.             margin: 100px auto;                  text-align: center;     
  14.                   border: 1px solid #ABCDEF;     
  15.             border-radius: 10px;                  box-shadow: 0 0 3px 3px #ABCDEF;     
  16.         }              .login h1 {     
  17.             margin: 50px 0;              }     
  18.         .login-row span {                  font-size: 18px;     
  19.         }              .login-row input {     
  20.             height: 25px;                  line-height: 25px;     
  21.             padding: 0 10px;                  margin: 10px 0;     
  22.         }           
  23.         .btn {                  outline: none;     
  24.             background-color: aliceblue;           
  25.             cursor: pointer;                  width: 90px;     
  26.             height: 40px;                  border: 1px solid #DDD;     
  27.             border-radius: 5px;                  margin: 30px 20px;     
  28.             font-size: 16px;           
  29.             transition: background-color 0.5s;                  -webkit-transition: background-color 0.5s;     
  30.             -moz-transition: background-color 0.5s;                  -o-transition: background-color 0.5s;     
  31.         }              .btn:hover {     
  32.             background-color: antiquewhite;              }     
  33.               .login-success {     
  34.             font-size: 20px;                  padding: 50px;     
  35.         }          </style>     
  36.           <script>     
  37.         var loginBtn, regiBtn;              window.onload = function() {     
  38.             loginBtn = document.getElementById("login");                  loginBtn.onclick = rotate;     
  39.             regiBtn = document.getElementById("regi");                  regiBtn.onclick = rotate;     
  40.         };           
  41.         function rotate() {                  var x = 0;     
  42.             var panel = document.getElementById("login-panel");                  panel.style.transform = "rotateX(0deg)";     
  43.             panel.style.webkitTransform = "rotateX(0deg)";           
  44.             var flag = true;                  var timer = setInterval(function() {     
  45.                 if(Math.round(x) >= 90 && flag) {                          panel.innerHTML = "<p class='login-success'>登陆成功</p>";     
  46.                     flag = false;                      }     
  47.                       if(Math.round(x) >= 358) {     
  48.                     panel.style.transform = "rotateX(360deg)";                          panel.style.webkitTransform = "rotateX(360deg)";     
  49.                     clearInterval(timer);                          return false;     
  50.                 } else {                          x += 2 + (360 - x) / 60;     
  51.                     panel.style.transform = "rotateX(" + x + "deg)";                          panel.style.webkitTransform = "rotateX(" + x + "deg)";     
  52.                 }                  }, 25);     
  53.         }          </script>     
  54. </head>      <body>     
  55.     <div class="container">              <div class="login" id="login-panel">     
  56.             <h1>登陆</h1>                  <div class="login-row">     
  57.                 <label for="username"><span>账号:</span></label>                      <input type="text" id="username" name="username">     
  58.             </div>                  <div class="login-row">     
  59.                 <label for="password"><span>密码:</span></label>                      <input type="password" id="password" name="password">     
  60.             </div>                  <div class="login-row">     
  61.                 <button id="login" class="btn" type="button">登陆</button>                      <button id="regi" class="btn" type="button">注册</button>     
  62.             </div>              </div>     
  63.     </div>      </body>     
  64. </html>    
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表