Hover effektek
Üvegfelület
Élő előnézet – az animáció teljes méretben.
Élő előnézet
HTML · CSS · JS
<div class="we-hover-glass">
<div class="we-glass-shine"></div>
<div class="we-glass-content">
<span>WebElements</span>
<strong>
Üvegfelület
</strong>
<small>
Hoverre életre kelő kristályhatás
</small>
</div>
</div>
.we-hover-glass {
width: 100%;
max-width: 440px;
height: 190px;
margin: 60px auto;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
padding: 40px;
box-sizing: border-box;
background:
linear-gradient(
135deg,
rgba(255,255,255,.035),
rgba(142,232,212,.045)
),
#0b1014;
border: 1px solid rgba(142,232,212,.22);
border-radius: 20px;
color: #f2f4f0;
font-family: Arial, sans-serif;
perspective: 900px;
transition:
transform .5s cubic-bezier(.22,1,.36,1),
border-color .5s ease,
box-shadow .5s ease;
}
/* BELSŐ ÜVEGFÉNY */
.we-hover-glass::before {
content: "";
position: absolute;
inset: 1px;
border-radius: 19px;
background:
radial-gradient(
circle at 20% 20%,
rgba(142,232,212,.12),
transparent 35%
);
opacity: 0;
transition: opacity .5s ease;
pointer-events: none;
}
/* FÉNYCSÍK */
.we-glass-shine {
position: absolute;
top: -80%;
left: -35%;
width: 25%;
height: 260%;
transform: rotate(20deg) translateX(-250%);
background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.12),
rgba(255,255,255,.85),
rgba(142,232,212,.18),
transparent
);
filter: blur(1px);
opacity: 0;
pointer-events: none;
}
/* TARTALOM */
.we-glass-content {
position: relative;
z-index: 2;
transform: translateZ(0);
transition:
transform .5s cubic-bezier(.22,1,.36,1);
}
.we-glass-content span {
display: block;
margin-bottom: 12px;
font-size: 11px;
letter-spacing: 4px;
text-transform: uppercase;
color: #8ee8d4;
}
.we-glass-content strong {
display: block;
font-size: 27px;
font-weight: 500;
}
.we-glass-content small {
display: block;
margin-top: 10px;
font-size: 13px;
color: rgba(242,244,240,.62);
}
/* HOVER */
.we-hover-glass:hover {
transform:
translateY(-7px)
scale(1.015);
border-color:
rgba(142,232,212,.65);
box-shadow:
0 25px 60px rgba(0,0,0,.5),
0 0 35px rgba(142,232,212,.12);
}
.we-hover-glass:hover::before {
opacity: 1;
}
.we-hover-glass:hover .we-glass-shine {
opacity: 1;
animation:
glassShine
1s
cubic-bezier(.22,1,.36,1)
forwards;
}
.we-hover-glass:hover .we-glass-content {
transform:
translateZ(35px)
translateX(3px);
}
/* FÉNY ÁTSÖPRÉSE */
@keyframes glassShine {
0% {
transform:
rotate(20deg)
translateX(-250%);
}
100% {
transform:
rotate(20deg)
translateX(850%);
}
}
Ehhez az animációhoz nincs külön JavaScript.