Vissza az animációkhoz
Hover effektek

Üvegfelület

Élő előnézet – az animáció teljes méretben.

Élő előnézet
HTML · CSS · JS
HTML
<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>
CSS
.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%);
    }

}
JavaScript
Ehhez az animációhoz nincs külön JavaScript.