/1 min read
How to create login animation using HTML, CSS, JS
Learn to use simple js along with HTML and CSS. Create login form animation.
htmlcssjavascriptfrontend
This is a simple login form animation tutorial created by using HTML, CSS and Javascript. We are going to use simple and basic syntax of Javascript to create this project.
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA=="
crossorigin="anonymous"
referrerpolicy="no-referrer"
/>
<title>Document</title>
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<section>
<div class="login-form">
<h1>LOGIN</h1>
<div class="inputfield">
<input type="text" placeholder="Username" />
<input type="text" placeholder="Password" />
</div>
<!-- icons -->
<div class="icons">
<i class="fa-brands fa-facebook"></i>
<i class="fa-brands fa-instagram"></i>
<i class="fa-brands fa-twitter"></i>
</div>
</div>
<div class="signup-form">
<h1>SIGNUP</h1>
<div class="inputfield">
<input type="text" placeholder="Username" />
<input type="text" placeholder="Email" />
<input type="text" placeholder="Password" />
</div>
<!-- icons -->
<div class="icons">
<i class="fa-brands fa-facebook"></i>
<i class="fa-brands fa-instagram"></i>
<i class="fa-brands fa-twitter"></i>
</div>
</div>
<div class="sliders">
<div class="login-slider">
<h1>Login Here</h1>
<p>Already have an account?</p>
<button id="loginbtn">Login</button>
</div>
<div class="signup-slider displaynone">
<h1>Sign Up here</h1>
<p>New here? Join NOW</p>
<button id="signupbtn">Sign up</button>
</div>
</div>
</section>
</body>
<script>
const sliders = document.querySelector(".sliders");
const loginSlider = document.querySelector(".login-slider");
const signupSlider = document.querySelector(".signup-slider");
const loginButton = document.getElementById("loginbtn");
const signupButton = document.getElementById("signupbtn");
loginButton.addEventListener("click", () => {
sliders.classList.toggle("slide");
loginSlider.classList.add("displaynone");
signupSlider.classList.remove("displaynone");
sliders.style.backgroundColor = "rgb(91,125,173)";
});
signupButton.addEventListener("click", () => {
sliders.classList.toggle("slide");
signupSlider.classList.add("displaynone");
loginSlider.classList.remove("displaynone");
sliders.style.backgroundColor = "rgb(205,113,113)";
});
</script>
</html>CSS
* {
margin: 0;
padding: 0;
}
body {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
h1 {
font-size: 2rem;
margin-top: 80px;
}
section {
font-family: sans-serif;
border-radius: 10px;
border: 1px solid rgb(210, 210, 210);
height: 400px;
width: 600px;
display: flex;
position: relative;
box-shadow: 5px 5px 5px gray;
overflow: hidden;
}
button {
background: none;
background-color: white;
border: none;
padding: 10px 15px;
cursor: pointer;
font-size: 1rem;
text-transform: capitalize;
border-radius: 25px;
color: black;
}
.inputfield {
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
input:focus {
outline: none;
}
input {
font-size: 0.9rem;
width: 70%;
padding: 10px;
border: none;
border-bottom: 1px solid black;
margin-top: 15px;
}
.login-form,
.signup-form {
width: 50%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.sliders {
position: absolute;
height: 100%;
width: 50%;
background-color: rgb(205, 113, 113);
transition: all 0.3s ease;
}
.icons {
margin: 40px 0;
}
.icons i {
font-size: 2rem;
margin: 0 10px;
}
.signup-slider,
.login-slider {
width: 100%;
height: 100%;
color: white;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
position: absolute;
}
.signup-slider p,
.login-slider p {
margin: 40px 0;
}
.displaynone {
opacity: 0;
pointer-events: none;
}
.slide {
transform: translateX(100%);
}Updated Mar 20, 2024