<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;
}
}
This Pen doesn't use any external CSS resources.