Vissza az animációkhoz
Hover effektek

Lézeres fókusz

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

Élő előnézet
HTML · CSS · JS
HTML
<div class="we-hover-laser">

    <div class="we-laser-line"></div>
    <div class="we-laser-glow"></div>

    <div class="we-laser-content">
        <span>WebElements</span>

        <strong>Lézeres fókusz</strong>

        <small>
            Precíz fénykiemelés hoverre
        </small>
    </div>

</div>
CSS
.we-hover-laser {
    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,
            #080d10,
            #0c1518
        );

    border: 1px solid rgba(142,232,212,.18);
    border-radius: 20px;

    color: #f2f4f0;
    font-family: Arial, sans-serif;

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

.we-laser-line {
    position: absolute;

    top: -20%;
    left: -20%;

    width: 3px;
    height: 140%;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(255,255,255,.9),
            #8ee8d4,
            rgba(142,232,212,.1),
            transparent
        );

    box-shadow:
        0 0 8px rgba(142,232,212,.9),
        0 0 25px rgba(142,232,212,.45);

    transform:
        rotate(18deg)
        translateX(-180px);

    opacity: 0;

    transition:
        transform 1s cubic-bezier(.16,1,.3,1),
        opacity .3s ease;
}

.we-laser-glow {
    position: absolute;

    top: 0;
    left: 0;

    width: 45%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(142,232,212,.08),
            transparent
        );

    transform:
        translateX(-130%);

    filter: blur(12px);

    opacity: 0;
}

.we-laser-content {
    position: relative;
    z-index: 5;

    transition:
        transform .55s cubic-bezier(.22,1,.36,1),
        filter .55s ease;
}

.we-laser-content span {
    display: block;

    margin-bottom: 12px;

    font-size: 11px;
    letter-spacing: 4px;
    text-transform: uppercase;

    color: #8ee8d4;
}

.we-laser-content strong {
    display: block;

    font-size: 27px;
    font-weight: 500;
}

.we-laser-content small {
    display: block;

    margin-top: 10px;

    font-size: 13px;

    color: rgba(242,244,240,.62);
}

.we-hover-laser:hover {
    transform:
        translateY(-7px);

    border-color:
        rgba(142,232,212,.6);

    box-shadow:
        0 30px 70px rgba(0,0,0,.55),
        0 0 45px rgba(142,232,212,.12);
}

.we-hover-laser:hover .we-laser-line {
    opacity: 1;

    transform:
        rotate(18deg)
        translateX(520px);
}

.we-hover-laser:hover .we-laser-glow {
    opacity: 1;

    animation:
        laserGlow
        1.1s
        cubic-bezier(.16,1,.3,1)
        forwards;
}

.we-hover-laser:hover .we-laser-content {
    transform:
        translateY(-4px)
        translateZ(18px);

    filter:
        drop-shadow(
            0 0 12px rgba(142,232,212,.2)
        );
}

@keyframes laserGlow {
    0% {
        transform: translateX(-130%);
    }

    100% {
        transform: translateX(280%);
    }
}
JavaScript
Ehhez az animációhoz nincs külön JavaScript.