作一個好看的可翻轉登陸註冊界面

作一個好看的登陸註冊界面

前言

最近在嘗試作網盤,使用的技術棧大概是 .net core + MVC + Mysql + Layui,主要目的是經過這個具體的項目,熟悉熟悉 .net core 開發,.net 的將來就是他了!javascript

個人設想

在完成後端的一部分 建設 以後,我把目光投向了前端——登錄註冊,因爲這個網盤是用來試手的我的項目,我並不想用曾經用過的製做方式——登陸和註冊界面分開來作。我試圖講這兩個功能合到一個頁面上,而且以一種不是很 "Low" 的方式呈現出來。css

你也能夠認爲我只是單純的懶,不想再多搞一個頁面html

因此排除了曾經使用過的點擊按鈕跳出 登陸/註冊 表單,排除了比較僵硬的使用選項卡切換 登陸/註冊 以後,我瞄上了 翻轉 效果。前端

看到那個 sign uplog in 以後我就想到,拿這兩個超連接作點文章或許是不錯的選擇java

用戶點擊 sign up 以後從登陸翻轉到註冊,點擊 log in 從註冊翻轉到登陸sql

從技術上來講應該是不難的,可是 B 格 看起來馬上就高了很多啊!!!!後端

具體效果能夠直接拉到最下面字體

具體實現

Htmlui

<body>
  <div class="mainbody middle">
    <form class="form-box front">
      <div>
        <h1>Login</h1>
      </div>
      <div>
        <input class="input-normal" type="text" placeholder="UserAccount" />
        <input class="input-normal" type="password" placeholder="PassWord" />
        <button class="btn-submit" type="submit">
          LOGIN
        </button>
      </div>
      <div>
        <p style="margin-top: 40px">If you don't have account.Please</p>
        <p>Click here to <a id="signin">Sign Up</a></p>
      </div>
    </form>
    <!-- 對的你沒看錯,上下兩個表單基本上沒區別,一個front,一個back -->
    <form class="form-box back">
      <div>
        <h1>Register</h1>
      </div>
      <div>
        <input class="input-normal" type="text" placeholder="UserAccount" />
        <input class="input-normal" type="password" placeholder="PassWord" />
        <button class="btn-submit" type="submit">
          Register
        </button>
      </div>
      <div>
        <p style="margin-top: 40px">Have a account ? You can</p>
        <p>Click here to <a id="login">Log in</a></p>
      </div>
    </form>
  </div>
</body>

Css.net

body {
  /*顏色這個看我的喜愛*/
  background: darkslategrey;
  /*字體這個看我的喜愛*/
  font-family: sans-serif;
}

/*主要是規定中間表單尺寸,調整到本身以爲好看就好了*/
.mainbody {
  height: 440px;
  width: 400px;
}

/*居中效果*/
.middle {
  /*使左上角對應到父元素的中心*/
  top: 50%;
  left: 50%;
  position: absolute;
  /*向左向上偏移50%*/
  transform: translate(-50%, -50%);
}

.form-box {
  width: 100%;
  height: 100%;
  margin: auto;
  background: darkcyan;
  /* 我以爲這個圓角大小剛恰好 */
  border-radius: 40px;
}

.input-normal {
  width: 220px;
  height: 38px;
  margin: 30px auto;
  padding: 0;
  text-align: center;
  border-radius: 20px;
  outline: none;
  display: block;
  transition: 0.3s;
  border: 1px solid #e6e6e6;
}

.btn-submit {
  width: 100px;
  height: 36px;
  margin: auto;
  font-size: 18px;
  text-align: center;
  color: white;
  border-radius: 20px;
  display: block;
  background: darkslategrey;
  transition: 0.3s;
}

.front {
  transform: rotateY(0deg);
}

/* 將back旋轉180度,背面朝向用戶,我這邊選y軸的 */
.back {
  transform: rotateY(-180deg);
}

.front,
.back {
  position: absolute;
  /* 而後設置爲背面朝向用戶時不可見 */
  backface-visibility: hidden;
  /* 我以爲用linear順滑一點 */
  transition: 0.3s linear;
}

/* 將front旋轉180度 */
.middle-flip .front {
  transform: rotateY(180deg);
}
/* 將back旋轉180度 */
.middle-flip .back {
  transform: rotateY(0deg);
}

/* 我調整了一下,感受還不錯的樣式,你能夠改爲其餘的好看點的 */
p {
  margin: 15px auto;
  padding: 0;
  font-size: 16px;
  color: white;
  display: block;
  text-align: center;
}
a {
  color: aqua;
  cursor: pointer;
}

js

// 點擊sigup觸發翻轉樣式
$("#sigup").click(function() {
  $(".middle").toggleClass("middle-flip");
});
// 點擊login觸發翻轉樣式
$("#login").click(function() {
  $(".middle").toggleClass("middle-flip");
});

效果

看起來好像還行的樣子啊

能夠考慮在 transfrom 後面加點 perspective ,加強立體感

我用的 perspective(600px)

無論大家怎麼想,反正我以爲這個效果仍是挺綠的

相關文章
相關標籤/搜索