Hover effektek
Prizmaátmenet
Élő előnézet – az animáció teljes méretben.
Élő előnézet
HTML · CSS · JS
<div class="we-hover-prism">
<div class="we-prism prism-1"></div>
<div class="we-prism prism-2"></div>
<div class="we-prism prism-3"></div>
<div class="we-prism-content">
<span>WebElements</span>
<strong>Prizmaátmenet</strong>
<small>
Többrétegű fénytörés hoverre
</small>
</div>
</div>
.we-hover-prism {
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:
radial-gradient(
circle at 20% 50%,
rgba(142,232,212,.06),
transparent 40%
),
#080f13;
border: 1px solid rgba(142,232,212,.2);
border-radius: 20px;
color: #f2f4f0;
font-family: Arial, sans-serif;
transition:
transform .5s cubic-bezier(.22,1,.36,1),
border-color .5s ease,
box-shadow .5s ease;
}
.we-prism {
position: absolute;
top: -40%;
left: -25%;
width: 55%;
height: 180%;
transform:
rotate(22deg)
translateX(-170%);
opacity: 0;
pointer-events: none;
mix-blend-mode: screen;
transition:
transform 1.1s cubic-bezier(.16,1,.3,1),
opacity .5s ease;
}
.we-prism::after {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(
90deg,
transparent,
rgba(142,232,212,.5),
rgba(255,255,255,.2),
transparent
);
filter: blur(8px);
}
.prism-1 {
background:
linear-gradient(
90deg,
transparent,
rgba(142,232,212,.12),
transparent
);
}
.prism-2 {
width: 32%;
left: -10%;
transition-delay: .08s;
background:
linear-gradient(
90deg,
transparent,
rgba(180,255,241,.18),
transparent
);
}
.prism-3 {
width: 18%;
left: 5%;
transition-delay: .16s;
background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.16),
transparent
);
}
.we-prism-content {
position: relative;
z-index: 5;
transition:
transform .6s cubic-bezier(.22,1,.36,1),
filter .6s ease;
}
.we-prism-content span {
display: block;
margin-bottom: 12px;
font-size: 11px;
letter-spacing: 4px;
text-transform: uppercase;
color: #8ee8d4;
}
.we-prism-content strong {
display: block;
font-size: 27px;
font-weight: 500;
}
.we-prism-content small {
display: block;
margin-top: 10px;
font-size: 13px;
color: rgba(242,244,240,.62);
}
.we-hover-prism:hover {
transform:
translateY(-7px);
border-color:
rgba(142,232,212,.65);
box-shadow:
0 30px 70px rgba(0,0,0,.55),
0 0 45px rgba(142,232,212,.13);
}
.we-hover-prism:hover .we-prism {
opacity: 1;
transform:
rotate(22deg)
translateX(270%);
}
.we-hover-prism:hover .we-prism-content {
transform:
translateZ(20px)
translateY(-3px);
filter:
drop-shadow(
0 0 12px rgba(142,232,212,.18)
);
}
Ehhez az animációhoz nincs külön JavaScript.