Vissza a webes elemekhez
Kártyák és dobozok

Prémium „pecsét” kártyák

Élő előnézet – a komponens teljes méretben.

Élő előnézet
HTML · CSS · JS
HTML
<div class="cards-13">

    <article class="card-13">

        <div class="card-13-frame"></div>

        <div class="card-13-top">
            <span>EST. 2026</span>
            <span>01 / 03</span>
        </div>

        <div class="card-13-seal">
            <div class="card-13-seal-ring"></div>
            <i class="bi bi-compass"></i>
            <span>DISCOVER</span>
        </div>

        <div class="card-13-content">
            <span class="card-13-label">01 — EXPLORATION</span>

            <h3>Új<br>irányok</h3>

            <p>
                Fedezd fel azokat a részleteket,
                amelyek túlmutatnak a megszokott
                megoldásokon.
            </p>
        </div>

        <div class="card-13-bottom">
            <span>WE · ELEMENTS</span>

            <div class="card-13-arrow">
                <i class="bi bi-arrow-up-right"></i>
            </div>
        </div>

    </article>


    <article class="card-13">

        <div class="card-13-frame"></div>

        <div class="card-13-top">
            <span>EST. 2026</span>
            <span>02 / 03</span>
        </div>

        <div class="card-13-seal">
            <div class="card-13-seal-ring"></div>
            <i class="bi bi-gem"></i>
            <span>PREMIUM</span>
        </div>

        <div class="card-13-content">
            <span class="card-13-label">02 — QUALITY</span>

            <h3>Tiszta<br>elegancia</h3>

            <p>
                Visszafogott részletek, karakteres
                tipográfia és időtálló vizuális
                harmónia.
            </p>
        </div>

        <div class="card-13-bottom">
            <span>WE · ELEMENTS</span>

            <div class="card-13-arrow">
                <i class="bi bi-arrow-up-right"></i>
            </div>
        </div>

    </article>


    <article class="card-13">

        <div class="card-13-frame"></div>

        <div class="card-13-top">
            <span>EST. 2026</span>
            <span>03 / 03</span>
        </div>

        <div class="card-13-seal">
            <div class="card-13-seal-ring"></div>
            <i class="bi bi-stars"></i>
            <span>VISION</span>
        </div>

        <div class="card-13-content">
            <span class="card-13-label">03 — VISION</span>

            <h3>Merész<br>gondolatok</h3>

            <p>
                Egyedi ötletek, erős koncepciók és
                olyan vizuális világ, amely saját
                karaktert épít.
            </p>
        </div>

        <div class="card-13-bottom">
            <span>WE · ELEMENTS</span>

            <div class="card-13-arrow">
                <i class="bi bi-arrow-up-right"></i>
            </div>
        </div>

    </article>

</div>
CSS
.cards-13 {
    width: min(1180px, calc(100% - 30px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.card-13 {
    position: relative;

    min-height: 470px;

    overflow: hidden;

    padding: 27px;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 4px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.055),
            rgba(255,255,255,0.008)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.04),
        0 25px 60px rgba(0,0,0,0.28);

    transition:
        transform 0.6s cubic-bezier(.22,.61,.36,1),
        border-color 0.5s ease,
        box-shadow 0.6s ease;
}


/* BELSŐ KERET */

.card-13-frame {
    position: absolute;
    inset: 10px;

    border: 1px solid rgba(255,255,255,0.035);

    pointer-events: none;

    transition:
        border-color 0.5s ease,
        inset 0.6s ease;
}

.card-13:hover .card-13-frame {
    inset: 15px;

    border-color: rgba(46,204,113,0.14);
}


/* FELSŐ SOR */

.card-13-top {
    position: relative;
    z-index: 3;

    display: flex;
    justify-content: space-between;

    color: rgba(255,255,255,0.25);

    font-family: monospace;
    font-size: 7px;
    letter-spacing: 2px;
}

.card-13-top span:last-child {
    color: rgba(46,204,113,0.5);
}


/* PECSÉT */

.card-13-seal {
    position: relative;
    z-index: 3;

    width: 112px;
    height: 112px;

    margin: 38px auto 34px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(46,204,113,0.22);
    border-radius: 50%;

    color: #2ecc71;

    background:
        radial-gradient(
            circle,
            rgba(46,204,113,0.07),
            transparent 68%
        );

    box-shadow:
        0 0 30px rgba(46,204,113,0.025);

    transition:
        transform 0.7s cubic-bezier(.22,.61,.36,1),
        border-color 0.5s ease,
        box-shadow 0.5s ease;
}

.card-13-seal > i {
    margin-bottom: 7px;

    font-size: 22px;

    transition:
        transform 0.5s ease;
}

.card-13-seal span {
    font-family: monospace;
    font-size: 6px;
    letter-spacing: 2px;
}

.card-13:hover .card-13-seal {
    transform: rotate(8deg) scale(1.06);

    border-color: rgba(46,204,113,0.55);

    box-shadow:
        0 0 40px rgba(46,204,113,0.09);
}

.card-13:hover .card-13-seal > i {
    transform: rotate(-8deg);
}


/* PECSÉT BELSŐ GYŰRŰ */

.card-13-seal-ring {
    position: absolute;
    inset: 8px;

    border: 1px dashed rgba(46,204,113,0.22);
    border-radius: 50%;

    transition:
        transform 1s ease;
}

.card-13:hover .card-13-seal-ring {
    transform: rotate(-45deg);
}


/* TARTALOM */

.card-13-content {
    position: relative;
    z-index: 3;

    flex: 1;

    text-align: center;
}

.card-13-label {
    display: block;

    margin-bottom: 13px;

    color: #2ecc71;

    font-family: monospace;
    font-size: 7px;
    letter-spacing: 2.5px;
}

.card-13 h3 {
    margin: 0 0 15px;

    color: #ffffff;

    font-family: "Bodoni Moda", Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.05;
}

.card-13 p {
    max-width: 265px;

    margin: 0 auto;

    color: #7c858e;

    font-size: 11px;
    line-height: 1.8;

    transition:
        color 0.4s ease;
}

.card-13:hover p {
    color: #a8b0b6;
}


/* ALSÓ SOR */

.card-13-bottom {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-top: 18px;

    border-top: 1px solid rgba(255,255,255,0.07);

    color: rgba(255,255,255,0.22);

    font-family: monospace;
    font-size: 6px;
    letter-spacing: 2px;
}

.card-13-arrow {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(46,204,113,0.22);
    border-radius: 50%;

    color: #2ecc71;

    transition:
        transform 0.5s ease,
        background 0.4s ease,
        color 0.4s ease,
        box-shadow 0.4s ease;
}

.card-13:hover .card-13-arrow {
    transform: rotate(45deg);

    background: #2ecc71;

    color: #07100b;

    box-shadow:
        0 0 22px rgba(46,204,113,0.18);
}


/* ALSÓ FÉNYVONAL */

.card-13::after {
    content: "";

    position: absolute;

    left: 27px;
    right: 27px;
    bottom: 0;

    height: 1px;

    background: #2ecc71;

    transform: scaleX(0);

    transform-origin: center;

    box-shadow:
        0 0 14px rgba(46,204,113,0.7);

    transition:
        transform 0.65s ease;
}

.card-13:hover::after {
    transform: scaleX(1);
}


/* HÁTTÉRFÉNY */

.card-13::before {
    content: "";

    position: absolute;

    width: 240px;
    height: 240px;

    left: 50%;
    top: 30%;

    border-radius: 50%;

    background: #2ecc71;

    opacity: 0;

    filter: blur(100px);

    transform: translate(-50%, -50%);

    pointer-events: none;

    transition:
        opacity 0.6s ease,
        transform 0.8s ease;
}

.card-13:hover::before {
    opacity: 0.035;

    transform:
        translate(-50%, -50%)
        scale(1.3);
}


/* HOVER */

.card-13:hover {
    transform: translateY(-9px);

    border-color: rgba(46,204,113,0.25);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.07),
        0 35px 75px rgba(0,0,0,0.34),
        0 0 30px rgba(46,204,113,0.035);
}


/* TABLET */

@media (max-width: 900px) {

    .cards-13 {
        grid-template-columns: 1fr;
        max-width: 600px;
    }

}


/* MOBIL */

@media (max-width: 520px) {

    .cards-13 {
        width: min(100% - 24px, 500px);
    }

    .card-13 {
        min-height: 450px;
        padding: 24px;
    }

    .card-13-seal {
        margin-top: 32px;
        margin-bottom: 30px;
    }

}
JavaScript
document.querySelectorAll(".cards-13").forEach(group => {

    group.querySelectorAll(".card-13").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(1200px)
                 rotateX(${rotateX}deg)
                 rotateY(${rotateY}deg)
                 translateY(-9px)`;

        });

        card.addEventListener("mouseleave", () => {
            card.style.transform = "";
        });

    });

});