-
Interactive Embossed Login form UI
HTML
CSS
JavaScript
Login
Username
Password
Sign In
✓
Success!
Login Successfully
*{ margin:0; padding:0; box-sizing:border-box; font-family:"Segoe UI",sans-serif; } body{ height:100vh; display:flex; justify-content:center; align-items:center; background: linear-gradient(145deg,#f2f2f2,#cfcfcf); overflow:hidden; } /* Main Circle */ .circle{ position:relative; width:380px; height:380px; border-radius:50%; display:flex; justify-content:center; align-items:center; animation:float 5s ease-in-out infinite; } /* Outer Ring */ .circle::before{ content:""; position:absolute; inset:-6px; border-radius:50%; background: linear-gradient(145deg,#ffffff,#bdbdbd); box-shadow: 12px 12px 25px rgba(0,0,0,0.18), -10px -10px 25px rgba(255,255,255,0.9), inset 3px 3px 8px rgba(255,255,255,0.8), inset -4px -4px 10px rgba(0,0,0,0.15); animation:spin 8s linear infinite; z-index:-2; } /* Glow */ .circle::after{ content:""; position:absolute; inset:-25px; border-radius:50%; background: radial-gradient(circle, rgba(255,255,255,0.7), rgba(180,180,180,0.2)); filter:blur(25px); z-index:-3; } /* Inner Mask */ .mask{ position:absolute; inset:10px; border-radius:50%; background: linear-gradient(145deg,#e8e8e8,#c8c8c8); box-shadow: inset 12px 12px 24px rgba(0,0,0,0.15), inset -10px -10px 20px rgba(255,255,255,0.9); z-index:-1; } .card{ width:340px; height:340px; padding:55px 45px; border-radius:50%; background: linear-gradient(145deg,#f8f8f8,#d5d5d5); box-shadow: 18px 18px 35px rgba(0,0,0,0.18), -12px -12px 25px rgba(255,255,255,0.95), inset 2px 2px 4px rgba(255,255,255,0.7), inset -3px -3px 6px rgba(0,0,0,0.08); text-align:center; position:relative; overflow:hidden; } /* Title */ h2{ margin-bottom:30px; color:#555; font-size:30px; letter-spacing:1px; text-shadow: 2px 2px 4px rgba(0,0,0,0.15), -2px -2px 4px rgba(255,255,255,0.8); } /* Input Box */ .input-box{ position:relative; margin-bottom:28px; } /* Input */ .input-box input{ width:100%; padding:16px 14px 10px; border:none; outline:none; border-radius:15px; background: linear-gradient(145deg,#d9d9d9,#f9f9f9); color:#555; font-size:15px; box-shadow: inset 6px 6px 12px rgba(0,0,0,0.12), inset -5px -5px 10px rgba(255,255,255,0.9); transition:0.35s; } .input-box input::placeholder{ color:transparent; } /* Floating Label */ .input-box label{ position:absolute; left:16px; top:15px; color:#888; font-size:15px; pointer-events:none; transition:0.35s ease; } .input-box input:focus + label, .input-box input:valid + label{ top:-10px; left:12px; font-size:12px; padding:3px 10px; border-radius:20px; background: linear-gradient(145deg,#ffffff,#d6d6d6); color:#666; box-shadow: 3px 3px 6px rgba(0,0,0,0.12), -3px -3px 6px rgba(255,255,255,0.9); } /* Button */ button{ width:100%; padding:14px; border:none; border-radius:16px; background: linear-gradient(145deg,#ffffff,#cfcfcf); color:#555; font-size:16px; font-weight:600; cursor:pointer; box-shadow: 8px 8px 16px rgba(0,0,0,0.18), -6px -6px 14px rgba(255,255,255,0.95), inset 2px 2px 5px rgba(255,255,255,0.8), inset -3px -3px 6px rgba(0,0,0,0.08); transition:0.35s; } button:hover{ transform:translateY(-3px); } /* Success Message */ .success{ position:absolute; inset:0; border-radius:50%; background: linear-gradient(145deg,#f8f8f8,#d5d5d5); display:flex; flex-direction:column; justify-content:center; align-items:center; opacity:0; visibility:hidden; transform:scale(0.8); transition:0.5s; } /* Show Success */ .success.active{ opacity:1; visibility:visible; transform:scale(1); } /* Success Icon */ .check{ width:90px; height:90px; border-radius:50%; display:flex; justify-content:center; align-items:center; font-size:45px; color:#4CAF50; background: linear-gradient(145deg,#ffffff,#d6d6d6); box-shadow: 10px 10px 20px rgba(0,0,0,0.15), -8px -8px 18px rgba(255,255,255,1); animation:pop 0.5s ease; } /* Success Text */ .success h3{ margin-top:18px; color:#555; font-size:24px; } .success p{ margin-top:8px; color:#777; font-size:14px; } /* Animations */ @keyframes spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} } @keyframes float{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} } @keyframes pop{ 0%{ transform:scale(0); } 100%{ transform:scale(1); } }
function showSuccess(){ const success = document.getElementById("successBox"); success.classList.add("active"); }
Live Preview