Kártyák és dobozok
Lebegő képes üvegcsíkok
Élő előnézet – a komponens teljes méretben.
Élő előnézet
HTML · CSS · JS
<div class="cards-06">
<article class="card-06">
<div class="card-06-image">
<img src="https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=900&q=85" alt="">
</div>
<div class="card-06-number">01</div>
<div class="card-06-icon">
<i class="bi bi-magic"></i>
</div>
<div class="card-06-content">
<span class="card-06-label">KREATÍV MEGOLDÁS</span>
<h3>Merész ötletek</h3>
<p>
Egyedi vizuális koncepciók, amelyek
karaktert és saját hangulatot adnak.
</p>
</div>
<a href="#" class="card-06-action">
<i class="bi bi-arrow-up-right"></i>
</a>
</article>
<article class="card-06">
<div class="card-06-image">
<img src="https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=900&q=85" alt="">
</div>
<div class="card-06-number">02</div>
<div class="card-06-icon">
<i class="bi bi-cpu"></i>
</div>
<div class="card-06-content">
<span class="card-06-label">TECHNOLÓGIA</span>
<h3>Intelligens rendszer</h3>
<p>
Modern technológia átgondolt struktúrával,
egyszerű kezeléssel és stabil működéssel.
</p>
</div>
<a href="#" class="card-06-action">
<i class="bi bi-arrow-up-right"></i>
</a>
</article>
<article class="card-06">
<div class="card-06-image">
<img src="https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=900&q=85" alt="">
</div>
<div class="card-06-number">03</div>
<div class="card-06-icon">
<i class="bi bi-brilliance"></i>
</div>
<div class="card-06-content">
<span class="card-06-label">PRÉMIUM DESIGN</span>
<h3>Finom részletek</h3>
<p>
Apró vizuális megoldások, amelyek végül
egységes és emlékezetes élménnyé állnak össze.
</p>
</div>
<a href="#" class="card-06-action">
<i class="bi bi-arrow-up-right"></i>
</a>
</article>
</div>
.cards-06 {
width: min(1180px, calc(100% - 30px));
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 14px;
}
.card-06 {
position: relative;
min-height: 150px;
padding: 25px 28px;
display: grid;
grid-template-columns: 55px 58px 1fr 58px;
align-items: center;
gap: 22px;
overflow: visible;
border: 1px solid rgba(255,255,255,0.08);
border-radius: 18px;
background:
linear-gradient(
100deg,
rgba(255,255,255,0.055),
rgba(255,255,255,0.018)
);
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.045),
0 18px 45px rgba(0,0,0,0.22);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
transition:
transform 0.45s ease,
border-color 0.45s ease,
box-shadow 0.45s ease;
}
/* KÉP */
.card-06-image {
position: absolute;
z-index: -1;
top: 50%;
right: 35px;
width: 330px;
height: 210px;
overflow: hidden;
border: 1px solid rgba(46,204,113,0.25);
border-radius: 18px;
opacity: 0;
transform:
translateY(-50%)
translateX(-35px)
scale(0.88);
filter: brightness(0.65);
box-shadow:
0 25px 60px rgba(0,0,0,0.55),
0 0 35px rgba(46,204,113,0.08);
transition:
opacity 0.55s ease,
transform 0.65s cubic-bezier(.22,.61,.36,1);
}
.card-06-image::after {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(
135deg,
rgba(8,11,17,0.05),
rgba(8,11,17,0.65)
);
}
.card-06-image img {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
transition:
transform 1s ease;
}
.card-06:hover .card-06-image {
opacity: 1;
transform:
translateY(-50%)
translateX(45px)
scale(1);
}
.card-06:hover .card-06-image img {
transform: scale(1.08);
}
/* KÁRTYA */
.card-06:hover {
transform: translateX(-6px);
border-color: rgba(46,204,113,0.35);
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.07),
0 25px 55px rgba(0,0,0,0.32),
0 0 30px rgba(46,204,113,0.045);
}
/* ZÖLD FÉNY */
.card-06::before {
content: "";
position: absolute;
width: 240px;
height: 240px;
left: 40%;
top: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
background: #2ecc71;
opacity: 0;
filter: blur(70px);
pointer-events: none;
transition:
opacity 0.6s ease,
transform 0.7s ease;
}
.card-06:hover::before {
opacity: 0.045;
transform:
translate(-50%, -50%)
scale(1.25);
}
/* SORSZÁM */
.card-06-number {
position: relative;
z-index: 2;
color: rgba(255,255,255,0.28);
font-family: monospace;
font-size: 11px;
letter-spacing: 2px;
transition:
color 0.4s ease;
}
.card-06:hover .card-06-number {
color: rgba(46,204,113,0.65);
}
/* IKON */
.card-06-icon {
position: relative;
z-index: 2;
width: 54px;
height: 54px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid rgba(46,204,113,0.22);
border-radius: 15px;
color: #2ecc71;
background: rgba(46,204,113,0.045);
transition:
transform 0.45s ease,
background 0.45s ease,
box-shadow 0.45s ease;
}
.card-06-icon i {
font-size: 19px;
}
.card-06:hover .card-06-icon {
transform: rotate(-6deg) scale(1.08);
background: rgba(46,204,113,0.09);
box-shadow:
0 0 25px rgba(46,204,113,0.1);
}
/* TARTALOM */
.card-06-content {
position: relative;
z-index: 2;
transition:
transform 0.5s ease;
}
.card-06:hover .card-06-content {
transform: translateX(4px);
}
.card-06-label {
display: block;
margin-bottom: 7px;
color: #2ecc71;
font-family: monospace;
font-size: 8px;
letter-spacing: 2.3px;
}
.card-06 h3 {
margin: 0 0 6px;
color: #ffffff;
font-family: "Bodoni Moda", Georgia, serif;
font-size: 25px;
font-weight: 500;
line-height: 1.1;
}
.card-06 p {
max-width: 650px;
margin: 0;
color: #7f8993;
font-size: 12px;
line-height: 1.65;
}
/* GOMB */
.card-06-action {
position: relative;
z-index: 3;
width: 52px;
height: 52px;
display: flex;
align-items: center;
justify-content: center;
justify-self: end;
border: 1px solid rgba(46,204,113,0.25);
border-radius: 50%;
color: #2ecc71;
text-decoration: none;
transition:
transform 0.4s ease,
background 0.4s ease,
color 0.4s ease,
box-shadow 0.4s ease;
}
.card-06-action i {
transition:
transform 0.35s ease;
}
.card-06-action:hover {
transform: scale(1.08);
background: #2ecc71;
color: #07100b;
box-shadow:
0 0 25px rgba(46,204,113,0.2);
}
.card-06-action:hover i {
transform: translate(2px,-2px);
}
/* ALSÓ FÉNYCSÍK */
.card-06::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 0;
height: 1px;
background: #2ecc71;
box-shadow:
0 0 12px rgba(46,204,113,0.7);
transition:
width 0.55s ease;
}
.card-06:hover::after {
width: 100%;
}
/* TABLET */
@media (max-width: 700px) {
.card-06 {
grid-template-columns: 48px 54px 1fr 48px;
gap: 15px;
padding: 22px;
}
.card-06-icon {
width: 50px;
height: 50px;
}
.card-06 h3 {
font-size: 21px;
}
.card-06-image {
width: 270px;
height: 190px;
}
}
/* MOBIL */
@media (max-width: 560px) {
.card-06 {
grid-template-columns: 48px 1fr 48px;
min-height: 180px;
}
.card-06-icon {
grid-column: 2;
grid-row: 1;
}
.card-06-content {
grid-column: 2;
grid-row: 2;
}
.card-06-action {
grid-column: 3;
grid-row: 1;
}
.card-06-number {
grid-column: 1;
grid-row: 1;
}
.card-06-image {
display: none;
}
}
document.querySelectorAll(".cards-06").forEach(group => {
group.querySelectorAll(".card-06").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 =
`translateX(-6px)
perspective(1000px)
rotateX(${rotateX}deg)
rotateY(${rotateY}deg)`;
});
card.addEventListener("mouseleave", () => {
card.style.transform = "";
});
});
});