Kártyák és dobozok
Fénycsíkos „split” kártyák
Élő előnézet – a komponens teljes méretben.
Élő előnézet
HTML · CSS · JS
<div class="cards-09">
<article class="card-09">
<div class="card-09-glow"></div>
<div class="card-09-bar"></div>
<div class="card-09-number">
01
</div>
<div class="card-09-main">
<span class="card-09-label">VIZUÁLIS IRÁNY</span>
<h3>Merész koncepció</h3>
<p>
Karakteres formák, erős kontrasztok és gondosan
felépített vizuális ritmus, amely egyedi hangulatot
és felismerhető karaktert ad a megjelenésnek.
</p>
</div>
<div class="card-09-side">
<i class="bi bi-arrow-up-right"></i>
<span>01 / 03</span>
</div>
</article>
<article class="card-09">
<div class="card-09-glow"></div>
<div class="card-09-bar"></div>
<div class="card-09-number">
02
</div>
<div class="card-09-main">
<span class="card-09-label">TECHNOLÓGIA</span>
<h3>Precíz rendszer</h3>
<p>
Intelligens struktúra, tiszta működés és részleteiben
is átgondolt megoldások, amelyek stabil és könnyen
használható rendszert alkotnak.
</p>
</div>
<div class="card-09-side">
<i class="bi bi-arrow-up-right"></i>
<span>02 / 03</span>
</div>
</article>
<article class="card-09">
<div class="card-09-glow"></div>
<div class="card-09-bar"></div>
<div class="card-09-number">
03
</div>
<div class="card-09-main">
<span class="card-09-label">ÉLMÉNY</span>
<h3>Finom részletek</h3>
<p>
Apró mozgások, elegáns átmenetek és kifinomult
részletek, amelyek együttesen különleges vizuális
élménnyé formálják az egész megjelenést.
</p>
</div>
<div class="card-09-side">
<i class="bi bi-arrow-up-right"></i>
<span>03 / 03</span>
</div>
</article>
</div>
.cards-09 {
width: min(1180px, calc(100% - 30px));
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 18px;
}
.card-09 {
position: relative;
width: 100%;
min-height: 190px;
display: grid;
/* 1 / 10 / 1 */
grid-template-columns:
minmax(55px, 1fr)
minmax(0, 10fr)
minmax(65px, 1fr);
align-items: center;
overflow: hidden;
border: 1px solid rgba(255,255,255,0.075);
border-radius: 22px;
background:
linear-gradient(
110deg,
rgba(255,255,255,0.055),
rgba(255,255,255,0.012)
);
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.045),
0 20px 50px rgba(0,0,0,0.23);
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
transition:
transform 0.5s cubic-bezier(.22,.61,.36,1),
border-color 0.45s ease,
box-shadow 0.5s ease;
}
/* =========================================
HÁTTÉR FÉNY
========================================= */
.card-09-glow {
position: absolute;
z-index: 0;
width: 360px;
height: 360px;
left: 48%;
top: 50%;
border-radius: 50%;
background: #2ecc71;
opacity: 0;
filter: blur(110px);
transform:
translate(-50%, -50%)
scale(0.7);
pointer-events: none;
transition:
opacity 0.6s ease,
transform 0.8s ease;
}
.card-09:hover .card-09-glow {
opacity: 0.055;
transform:
translate(-50%, -50%)
scale(1.1);
}
/* =========================================
BAL OLDALI FÉNYCSÍK
========================================= */
.card-09-bar {
position: absolute;
z-index: 5;
left: 0;
top: 0;
width: 3px;
height: 100%;
background: #2ecc71;
box-shadow:
0 0 15px rgba(46,204,113,0.8);
transform: scaleY(0.2);
transform-origin: center;
transition:
transform 0.65s cubic-bezier(.22,.61,.36,1);
}
.card-09:hover .card-09-bar {
transform: scaleY(1);
}
/* =========================================
SORSZÁM
========================================= */
.card-09-number {
position: relative;
z-index: 2;
text-align: center;
color: rgba(255,255,255,0.22);
font-family: monospace;
font-size: 11px;
letter-spacing: 2px;
transition:
color 0.4s ease,
transform 0.5s ease;
}
.card-09:hover .card-09-number {
color: rgba(46,204,113,0.7);
transform: translateX(3px);
}
/* =========================================
FŐ SZÖVEGRÉSZ
========================================= */
.card-09-main {
position: relative;
z-index: 2;
min-width: 0;
padding: 32px 30px;
transition:
transform 0.5s ease;
}
.card-09:hover .card-09-main {
transform: translateX(7px);
}
.card-09-label {
display: block;
margin-bottom: 9px;
color: #2ecc71;
font-family: monospace;
font-size: 8px;
letter-spacing: 2.5px;
}
.card-09 h3 {
margin: 0 0 9px;
color: #ffffff;
font-family: "Bodoni Moda", Georgia, serif;
font-size: 29px;
font-weight: 500;
line-height: 1.15;
}
.card-09 p {
width: 100%;
max-width: 900px;
margin: 0;
color: #7f8993;
font-size: 13px;
line-height: 1.75;
transition:
color 0.4s ease;
}
.card-09:hover p {
color: #a6afb7;
}
/* =========================================
JOBB OLDALI AKCIÓ
========================================= */
.card-09-side {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
height: 100%;
border-left: 1px solid rgba(255,255,255,0.07);
color: rgba(255,255,255,0.35);
transition:
border-color 0.45s ease,
color 0.45s ease,
transform 0.5s ease;
}
.card-09-side i {
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid rgba(46,204,113,0.2);
border-radius: 50%;
color: #2ecc71;
background: rgba(46,204,113,0.025);
transition:
transform 0.5s ease,
background 0.4s ease,
box-shadow 0.4s ease;
}
.card-09-side span {
font-family: monospace;
font-size: 8px;
letter-spacing: 1.5px;
}
.card-09:hover .card-09-side {
border-color: rgba(46,204,113,0.22);
color: rgba(255,255,255,0.6);
transform: translateX(-3px);
}
.card-09:hover .card-09-side i {
transform: rotate(45deg) scale(1.08);
background: #2ecc71;
color: #07100b;
box-shadow:
0 0 25px rgba(46,204,113,0.2);
}
/* =========================================
ALSÓ FÉNYVONAL
========================================= */
.card-09::after {
content: "";
position: absolute;
z-index: 5;
left: 0;
bottom: 0;
width: 0;
height: 1px;
background: #2ecc71;
box-shadow:
0 0 13px rgba(46,204,113,0.75);
transition:
width 0.65s ease;
}
.card-09:hover::after {
width: 100%;
}
/* =========================================
HOVER
========================================= */
.card-09:hover {
transform: translateX(7px);
border-color: rgba(46,204,113,0.24);
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.065),
0 28px 60px rgba(0,0,0,0.32),
0 0 30px rgba(46,204,113,0.035);
}
/* =========================================
TABLET
========================================= */
@media (max-width: 700px) {
.card-09 {
min-height: 200px;
grid-template-columns:
55px
minmax(0, 1fr)
70px;
}
.card-09-main {
padding: 28px 22px;
}
.card-09 h3 {
font-size: 26px;
}
}
/* =========================================
MOBIL
========================================= */
@media (max-width: 520px) {
.cards-09 {
width: min(100% - 24px, 500px);
}
.card-09 {
min-height: 225px;
grid-template-columns:
42px
minmax(0, 1fr);
}
.card-09-number {
align-self: start;
padding-top: 30px;
}
.card-09-main {
padding:
30px
50px
30px
8px;
}
.card-09 h3 {
font-size: 23px;
}
.card-09 p {
font-size: 12px;
line-height: 1.7;
}
.card-09-side {
position: absolute;
right: 15px;
top: 15px;
height: auto;
border: 0;
}
.card-09-side span {
display: none;
}
.card-09-side i {
width: 36px;
height: 36px;
}
}
document.querySelectorAll(".cards-09").forEach(group => {
group.querySelectorAll(".card-09").forEach(card => {
card.addEventListener("mousemove", event => {
const rect = card.getBoundingClientRect();
const x = event.clientX - rect.left;
const y = event.clientY - rect.top;
const rotateX =
((y / rect.height) - 0.5) * -2;
const rotateY =
((x / rect.width) - 0.5) * 2;
card.style.transform =
`perspective(1100px)
rotateX(${rotateX}deg)
rotateY(${rotateY}deg)
translateX(7px)`;
});
card.addEventListener("mouseleave", () => {
card.style.transform = "";
});
});
});