Get CodeArticle

Animated Glassmorphism Login Form using Html & CSS

Bring your login page to life with this stunning Animated Glassmorphism Login Form . It features a smooth frosted glass effect, a parallax background, animated falling leaves, and

TMTalal MehmoodFounder & CEO
1 min read
Featured image for Animated Glassmorphism Login Form using Html & CSS
Cover · Get Code

Bring your login page to life with this stunning Animated Glassmorphism Login Form. It features a smooth frosted glass effect, a parallax background, animated falling leaves, and a walking character animation — all built with pure HTML & CSS.

This design is fully responsive, lightweight, and easy to customize for your own projects. Whether you’re creating a personal website or a professional web app, this login form will give your UI a modern and engaging feel.

Features:

  • Glassmorphism (frosted glass) UI style

  • Animated falling leaves background

  • Smooth walking character animation

  • Pure HTML & CSS (no JavaScript required)

  • Easy to customize colors, fonts, and images  Get Code

HTML Code

The HTML structure contains all the elements needed for the background images, animations, and login form. It includes sections for the animated leaves, parallax layers, and the form fields for username, password, and login actions.

				
					
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Animated Glassmorphism Login Page | @codingstella</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <section>
                <img src="leaf_01.png">
                <img src="leaf_02.png">
                <img src="leaf_03.png">
                <img src="leaf_04.png">
                <img src="leaf_01.png">
                <img src="leaf_02.png">
                <img src="leaf_03.png">
                <img src="leaf_04.png">
        <img src="bg.jpg">
        <img src="girl.png">
        <img src="trees.png">
            <h2>Sign In</h2>
                <input type="text" placeholder="Username"
                <input type="password" placeholder="Password"
                <input type="submit" value="Login" id="btn">
                <a href="#">Forget Password</a>
                <a href="#">Signup</a>
    </section>
</body>
</html>

CSS Code

The CSS handles the glassmorphism effect, background animations, and the walking character movement. It also styles the login form, input fields, buttons, and links for a clean, professional look.

				
					
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
section {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
section .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
section .trees {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 100;
  pointer-events: none;
}
section .girl {
  position: absolute;
  scale: 0.65;
  pointer-events: none;
  animation: animateGirl 10s linear infinite;
}
@keyframes animateGirl {
  0% {
    transform: translateX(calc(100% + 100vw));
  }
  50% {
    transform: translateX(calc(-100% - 100vw));
  }
  50.01% {
    transform: translateX(calc(-100% - 100vw)) rotateY(180deg);
  }
  100% {
    transform: translateX(calc(100% + 100vw)) rotateY(180deg);
  }
}
.login {
  position: relative;
  padding: 60px;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(15px);
  border: 1px solid #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  width: 500px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1);
}
.login h2 {
  position: relative;
  width: 100%;
  text-align: center;
  font-size: 2.5em;
  font-weight: 600;
  color: #8f2c24;
  margin-bottom: 10px;
}
.login .inputBox {
  position: relative;
}
.login .inputBox input {
  position: relative;
  width: 100%;
  padding: 15px 20px;
  outline: none;
  font-size: 1.25em;
  color: #8f2c24;
  border-radius: 5px;
  background: #fff;
  border: none;
  margin-bottom: 30px;
}
.login .inputBox ::placeholder {
  color: #8f2c24;
}
.login .inputBox #btn {
  position: relative;
  border: none;
  outline: none;
  background: #8f2c24;
  color: #fff;
  cursor: pointer;
  font-size: 1.25em;
  font-weight: 500;
  transition: 0.5s;
}
.login .inputBox #btn:hover {
  background: #d64c42;
}
.login .group {
  display: flex;
  justify-content: space-between;
}
.login .group a {
  font-size: 1.25em;
  color: #8f2c24;
  font-weight: 500;
  text-decoration: none;
}
.login .group a:nth-child(2) {
  text-decoration: underline;
}
.leaves {
  position: absolute;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  pointer-events: none;
}
.leaves .set {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}
.leaves .set div {
  position: absolute;
  display: block;
}
.leaves .set div:nth-child(1) {
  left: 20%;
  animation: animate 20s linear infinite;
}
.leaves .set div:nth-child(2) {
  left: 50%;
  animation: animate 14s linear infinite;
}
.leaves .set div:nth-child(3) {
  left: 70%;
  animation: animate 12s linear infinite;
}
.leaves .set div:nth-child(4) {
  left: 5%;
  animation: animate 15s linear infinite;
}
.leaves .set div:nth-child(5) {
  left: 85%;
  animation: animate 18s linear infinite;
}
.leaves .set div:nth-child(6) {
  left: 90%;
  animation: animate 12s linear infinite;
}
.leaves .set div:nth-child(7) {
  left: 15%;
  animation: animate 14s linear infinite;
}
.leaves .set div:nth-child(8) {
  left: 60%;
  animation: animate 15s linear infinite;
}
@keyframes animate {
  0% {
    opacity: 0;
    top: -10%;
    transform: translateX(20px) rotate(0deg);
  }
  10% {
    opacity: 1;
  }
  20% {
    transform: translateX(-20px) rotate(45deg);
  }
  40% {
    transform: translateX(-20px) rotate(90deg);
  }
  60% {
    transform: translateX(20px) rotate(180deg);
  }
  80% {
    transform: translateX(-20px) rotate(45deg);
  }
  100% {
    top: 110%;
    transform: translateX(20px) rotate(225deg);
  }
}

Download Full Project with Assets

Download the complete project in a ZIP file, including all HTML, CSS, and image assets (bg.jpg, girl.png, trees.png, and leaves images). Everything is ready to use — just extract and open the HTML file in your browser.

DOWNLOAD ZIP FILE

Continue

Adjacent reads

Talal Mehmood portrait

Written by

Talal Mehmood

Founder & CEO

BSCS student from Pakistan. Freelancing since 2018 across web development, marketing, SEO, and finance. Founder of Let Start Design.

View author page
Signal // Leave a noteOpen

Join the conversation

Thoughts, pushback, or a win from applying this — we read every note.

Be constructive. Links welcome when relevant.

Thread

00 comments

  • No comments yet — be the first signal.
Free · 30 min

Ready when you are. Let’s talk.

No pitch deck — just a clear next step for your project.

Book Consultation