<main>
    <div>
        login
        <span>mkimq.com</span>
    </div>
    <div>
        register
        <span>mkimq.com</span>
    </div>
</main>

<nav>
    <a href="javascript:;" onclick="change('login')">登录</a>
    <a href="javascript:;" onclick="change('register')">注册</a>
</nav>
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html,
body {
  overflow: hidden;
}

main {
  position: absolute;
  width: 100vw;
  height: 100vh;
  transition: 2s;
  transform-style: preserve-3d;
}

main.login {
  transform: perspective(900px) rotateY(0deg);
}

main.register {
  transform: perspective(900px) rotateY(180deg);
}

div {
  position: absolute;
  width: 100%;
  height: 100%;
  font-size: 5em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  backface-visibility: hidden;
  transition: 2s;
  text-transform: uppercase;
  color: white;
}

div span {
  text-transform: lowercase;
  letter-spacing: .2em;
  font-size: .2em;
  color: #2c3e50;
}

div:nth-child(1) {
  background: #2ecc71;
  transform: rotateY(0deg);
}

div:nth-child(2) {
  background: #e74c3c;
  transform: rotateY(180deg);
}

nav {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 99;
  text-align: center;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 30px;
}

nav a {
  padding: 10px;
  text-decoration: none;
  font-size: 1em;
  background: #000;
  color: white;
  margin-right: 10px;
  cursor: pointer;
  left: 0;
  top: 0;
}
function change(t) {
  switch (t) {
    case 'login':
      $("main").removeClass().addClass('login');
      break;
    case 'register':
      $("main").removeClass().addClass('register');
      break;
  }
}
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://code.jquery.com/jquery-3.3.1.slim.min.js