Glass Tilt Card
Home
Snippets
Glass Tilt Card
HTML
CSS
JS
<div class="cards"> <div class="card"> <div class="card-content"> <h3>Web Design</h3> <p>Modern interfaces with smooth interactions.</p> </div> </div> </div>
* { box-sizing: border-box; } body { margin: 0; height: 100vh; background: radial-gradient(circle at top, #121622, #05070d); display: flex; justify-content: center; align-items: center; font-family: system-ui, sans-serif; overflow: hidden; } .card { width: 260px; height: 340px; border-radius: 18px; background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4); transition: transform 0.15s ease; position: relative; overflow: hidden; cursor: pointer; } .card::after { content: ""; position: absolute; inset: 0; background: linear-gradient( 120deg, transparent 30%, rgba(255, 255, 255, 0.35), transparent 70% ); transform: translateX(-100%); transition: transform 0.6s; } .card:hover::after { transform: translateX(100%); } .card-content { height: 100%; padding: 26px; color: #ffffff; display: flex; flex-direction: column; justify-content: flex-end; } .card h3 { margin: 0 0 8px; font-size: 20px; } .card p { margin: 0; font-size: 14px; line-height: 1.4; opacity: 0.85; }
document.querySelectorAll(".card").forEach(card => { card.addEventListener("mousemove", e => { const rect = card.getBoundingClientRect(); const x = e.clientX - rect.left; const y = e.clientY - rect.top; const rx = ((y / rect.height) - 0.5) * -12; const ry = ((x / rect.width) - 0.5) * 12; card.style.transform = ` rotateX(${rx}deg) rotateY(${ry}deg) scale(1.05) `; }); card.addEventListener("mouseleave", () => { card.style.transform = "rotateX(0) rotateY(0) scale(1)"; }); });
Ad #1
Ad #2
Scroll to Top