div+js+css实现登录注册表单翻转切换效果代码

代码语言:html

所属分类:表单美化

代码描述:div+js+css实现登录注册表单翻转切换效果代码

代码标签: div js css 登录 注册 表单 翻转 切换

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
   
<meta charset="UTF-8">
<style>
   
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap");
:root {
 
color-scheme: "dark";
 
--body-rotate: rotateY(0deg);
 
--background-position: 0 0;
 
--body-height: 380px;
 
--login-display: flex;
}

* {
 
padding: 0;
 
margin: 0;
 
user-select: none;
}

html
{
 
font-size: 62.5%;
}

.d-none {
 
display: none !important;
}

body
{
 
background-image: url("");
 
width: 100vw;
 
min-height: 100vh;
 
background-repeat: repeat;
 
overflow: hidden;
 
display: flex;
 
justify-content: center;
 
align-items: center;
 
transition: background-position 1s;
 
background-position: var(--background-position);
}
body
* {
 
font-family: "Poppins", sans-serif;
}

.container {
 
width: 380px;
 
display: flex;
 
flex-direction: column;
 
align-items: center;
 
perspective: 1000px;
}
@media screen and (max-width: 385px) {
 
.container {
   
width: 95%;
 
}
}
.container .header {
 
width: 100%;
 
height: auto;
 
display: flex;
 
flex-direction: column;
 
align-items: center;
 
margin-bottom: 15px;
}
.container .body {
 
width: 100%;
 
height: var(--body-height);
 
position: relative;
 
transform-style: preserve-3d;
 
transition: transform 0.8s, height 0.5s;
 
transform: var(--body-rotate);
 
box-shadow: 0px 0px 4px 5px #163352;
 
border-radius: 5px;
}

.header .header-titles {
 
font-size: 1.8rem;
 
color: #fff;
 
width: 100%;
 
display: flex;
 
justify-content: center;
 
font-weight: bold;
 
user-select: none;
 
text-shadow: 0px 0px 3px #fff;
}
.header .header-titles span:nth-child(1) {
 
margin-right: 25px;
}
.header #header-toggler-checkbox {
 
display: none;
}
.header #header-toggler-checkbox:checked ~ label[for=header-toggler-checkbox] .header-toggler-circle {
 
left: 90%;
 
transform: translate(-50%, -50%) rotate(90deg);
}
.header .header-toggler {
 
width: 40px;
 
height: 20px;
 
border-radius: 10px;
 
background-color: transparent;
 
box-shadow: 0px 0px 1px 1px #0d6efd;
 
margin-top: 10px;
 
position: relative;
 
cursor: pointer;
}
.header .header-toggler .header-toggler-circle {
 
width: 25px;
 
height: 25px;
 
background-color: #0d6efd;
 
border-radius: 50%;
 
position: absolute;
 
top: 50%;
 
left: 10%;
 
transform: translate(-50%, -50%);
 
transition: left 0.4s, transform 0.4s 0.1s;
 
display: flex;
 
justify-content: center;
 
align-items: center;
}
.header .header-toggler .header-toggler-circle .toggler-arrow-icon {
 
width: 18px;
 
stroke: #fff;
 
stroke-width: 2px;
}

.body .form-wave {
 
position: absolute;
 
bottom: 0;
 
transform: rotate(180deg);
 
height: 120px;
 
width: 200%;
}
.body .login-container {
 
position: absolute;
 
width: 100%;
 
height: 100%;
 
backface-visibility: hidden;
 
border-radius: 5px;
 
overflow: hidden;
 
background: #26425f;
}
.body .login-container .login-content, .body .login-container .signup-content {
 
position: absolute;
 
width: 100%;
 
height: 100%;
 
padding: 5px;
}
.body .signup-container {
 
position: absolute;
 
width: 100%;
 
height: 100%;
 
backface-visibility: hidden;
 
border-radius: 5px;
 
overflow: hidden;
 
background: #26425f;
 
transform: rotateY(180deg);
}
.body .signup-container .signup-content {
 
position: absolute;
 
width: 100%;
 
height: 100%;
 
padding: 5px;
}

.login-content, .signup-content {
 
display: var(--login-display);
 
flex-direction: column;
 
align-items: center;
}
.login-content .login-header, .signup-content .login-header, .signup-content .signup-header {
 
text-align: center;
 
margin-top: 10px;
}
.login-content .login-header .login-header-icon, .signup-content .login-header .login-header-icon, .signup-content .signup-header .login-header-icon, .signup-content .signup-header .signup-header-icon {
 
display: inline-block;
 
border: 2px solid rgba(255, 255, 255, 0.5);
 
border-bottom-color: transparent;
 
border-radius: 50%;
 
padding: 10px;
}
.login-content .login-header .login-header-icon svg, .signup-content .login-header .login-header-icon svg, .signup-content .signup-header .login-header-icon svg, .signup-content .signup-header .signup-header-icon svg {
 
width: 32px;
}
.login-content .login-input-container, .signup-content .login-input-container, .signup-content .signup-input-container {
 
display: flex;
 
align-items: center;
 
flex-direction: column;
 
width: 75%;
}
@media screen and (max-width: 450px) {
 
.login-content .login-input-container, .signup-content .login-input-container, .signup-content .signup-input-container {
   
width: 85%;
 
}
}
.login-content .forget-password, .signup-content .forget-password {
 
width: 92%;
 
text-align: left;
 
padding: 4px;
 
font-size: 1.15rem;
 
color: #617ac7;
 
cursor: pointer;
}

.login-input, .signup-input {
 
display: flex;
 
justify-content: flex-start;
 
align-items: center;
 
background-color: transparent;
 
border: 2px solid rgba(255, 255, 255, 0.1);
 
padding: 10px;
 
box-sizing: border-box;
 
border-radius: 100px;
 
width: 100%;
 
height: 45px;
 
margin-top: 15px;
 
transition: box-shadow 0.3s;
}
.login-input .login-input-icon, .signup-input .login-input-icon, .signup-input .signup-input-icon {
 
width: auto;
 
height: auto;
 
border: 1px solid rgba(255, 255, 255, 0.4);
 
border-radius: 50%;
 
width: 27px;
 
height: 27px;
 
transform: scale(1.2);
 
transition: transform 0.1s;
 
display: flex;
 
justify-content: center;
 
align-items: center;
 
box-sizing: border-box;
 
position: relative;
}
.login-input .login-input-icon svg, .signup-input .login-input-icon svg, .signup-input .signup-input-icon svg {
 
width: 17px;
 
stroke-width: 2px;
 
stroke: rgba(255, 255, 255, 0.7);
}
.login-input .login-input-input, .signup-input .login-input-input, .signup-input .signup-input-input {
 
width: 80%;
 
background-color: transparent;
 
font-size: 1.6rem;
 
color: rgba(255, 255, 255, 0.9);
 
padding-left: 10px;
 
outline: none;
 
border: none;
}
.login-input .login-input-input::placeholder, .signup-input .login-input-input::placeholder, .signup-input .signup-input-input::placeholder {
 
color: rgba(255, 255, 255, 0.4);
 
transition: color 0.1s;
}
.login-input .login-input-input:focus::placeholder, .signup-input .login-input-input:focus::placeholder, .signup-input .signup-input-input:focus::placeholder {
 
color: transparent;
}

.login-button-container, .signup-button-container {
 
margin-top: 15px;
}
.login-button-container .login-button, .signup-button-container .login-button, .signup-button-container .signup-button {
 
width: 120px;
 
height: 40px;
 
background-color: #0E2A47;
 
border: none;
 
outline: none;
 
color: rgba(255, 255, 255, 0.9);
 
border-radius: 5px;
 
font-size: 1.4rem;
 
cursor: pointer;
 
box-shadow: 0px 0px 20px 1px #0E2A47;
 
transition: box-shadow 0.3s;
 
display: flex;
 
justify-content: center;
 
align-items: center;
}
.login-button-container .login-button .login-button-title, .signup-button-container .login-button .login-button-title, .signup-button-container .signup-button .login-button-title, .signup-button-container .signup-button .signup-button-title {
 
position: relative;
 
left: 10px;
 
transition: left 0.2s;
}
.login-button-container .login-button .login-button-icon, .signup-button-container .login-button .login-button-icon, .signup-button-container .signup-button .login-button-icon, .signup-button-container .signup-button .signup-button-icon {
 
width: 17px;
 
stroke: rgba(255, 255, 255, 0.9);
 
stroke-width: 2px;
 
margin-left: 4px;
 
margin-top: 6px;
 
opacity: 0;
 
transition: opacity 0.7s;
}
.login-button-container .login-button:hover, .signup-button-container .login-button:hover, .signup-button-container .signup-button:hover, .login-button-container .login-button:focus, .signup-button-container .login-button:focus, .signup-button-container .signup-button:focus {
 
box-shadow: 0px 0px 25px 5px #0E2A47;
}
.login-button-container .login-button:hover .login-button-icon, .login-button-container .login-button:hover .signup-button-container .signup-button .signup-button-icon, .signup-button-container .login-button:hover .login-button-icon, .signup-button-container .login-button:hover .signup-button .signup-button-icon, .signup-button-container .signup-button .login-button:hover .signup-button-icon, .signup-button-container .signup-button:hover .login-button-icon, .signup-button-container .signup-button:hover .signup-button-icon, .login-button-container .login-button:focus .login-button-icon, .login-button-container .login-button:focus .signup-button-container .signup-button .signup-button-icon, .signup-button-container .login-button:focus .login-button-icon, .signup-button-container .login-button:focus .signup-button .signup-button-icon, .signup-button-container .signup-button .login-button:focus .signup-button-icon, .signup-button-container .signup-button:focus .login-button-icon, .signup-button-container .signup-button:focus .signup-button-icon {
 
opacity: 1;
}
.login-button-container .login-button:hover .login-button-title, .login-button-container .login-button:hover .signup-button-container .signup-button .signup-button-title, .signup-button-container .login-button:hover .login-button-title, .signup-button-container .login-button:hover .signup-button .signup-button-title, .signup-button-container .signup-button .login-button:hover .signup-button-title, .signup-button-container .signup-button:hover .login-button-title, .signup-button-container .signup-button:hover .signup-button-title, .login-button-container .login-button:focus .login-button-title, .login-button-container .login-button:focus .signup-button-container .signup-button .signup-button-title, .signup-button-container .login-button:focus .login-button-title, .signup-button-container .login-button:focus .signup-button .signup-button-title, .signup-button-container .signup-button .login-button:focus .signup-button-title, .signup-button-container .signup-button:focus .login-button-title, .signup-button-container .signup-button:focus .signup-button-title {
 
left: 0;
}

.signup-content {
 
display: flex;
}
.signup-content .signup-header .signup-header-icon svg {
 
width: 32px;
}

.signup-button-container {
 
margin-top: 20px;
}
.login-input-icon.focused-icon, .signup-input .focused-icon.signup-input-icon {
 
transform: scale(1.4);
 
border-color: rgba(255, 255, 255, 0.1);
}

.signup-input-icon.focused-icon {
 
transform: scale(1.4);
 
border-color: rgba(255, 255, 255, 0.1);
}

.input-focused {
 
box-shadow: 0px 0px 3px 2px rgba(255, 255, 255, 0.15);
}
</style>

</head>

<body>
   
<!-- partial:index.partial.html -->
   
<div class="container">
       
<!-- header -->
       
<header class="header">
           
<div class="header-titles">
               
<span class="header-title-login">LUL.BZ</span>
               
<span class="header-title-signup">LUL.IS</span>
           
</div>
           
<input type="checkbox" id="header-toggler-checkbox">
           
<label for="header-toggler-checkbox">
         
<div class="header-toggler">
           
<div class="header-toggler-circle">
               
<svg class="toggler-arrow-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round">
                 
<line x1="17" y1="17" x2="7" y2="7"></line>
              .........完整代码请登录后点击上方下载按钮下载查看

网友评论0