Vissza az animációkhoz
Hover effektek

Energiagömb

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

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

    <div class="we-energy-core"></div>
    <div class="we-energy-ring we-energy-ring-1"></div>
    <div class="we-energy-ring we-energy-ring-2"></div>
    <div class="we-energy-ring we-energy-ring-3"></div>

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

        <strong>
            Energiagömb
        </strong>

        <small>
            Koncentrikus fényhullám hoverre
        </small>
    </div>

</div>
CSS
.we-hover-energy {
    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:
        radial-gradient(
            circle at 50% 50%,
            rgba(142,232,212,.04),
            transparent 55%
        ),
        #090f12;

    border: 1px solid rgba(142,232,212,.22);
    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;
}


/* KÖZPONTI GÖMB */

.we-energy-core {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 12px;
    height: 12px;

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

    border-radius: 50%;

    background: #8ee8d4;

    box-shadow:
        0 0 8px rgba(142,232,212,1),
        0 0 22px rgba(142,232,212,.9),
        0 0 50px rgba(142,232,212,.65),
        0 0 90px rgba(142,232,212,.3);

    opacity: 0;
}


/* ENERGIA GYŰRŰK */

.we-energy-ring {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 25px;
    height: 25px;

    transform: translate(-50%, -50%) scale(.3);

    border: 1px solid rgba(142,232,212,.65);
    border-radius: 50%;

    opacity: 0;
}


/* TARTALOM */

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

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

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

    margin-bottom: 12px;

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

    color: #8ee8d4;
}

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

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

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

    margin-top: 10px;

    font-size: 13px;
    color: rgba(242,244,240,.62);
}


/* HOVER */

.we-hover-energy:hover {
    transform: translateY(-6px);

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

    box-shadow:
        0 25px 60px rgba(0,0,0,.5),
        0 0 40px rgba(142,232,212,.12);
}


/* GÖMB INDUL */

.we-hover-energy:hover .we-energy-core {
    animation:
        energyCore
        1.8s
        ease-out
        infinite;
}


/* HULLÁMOK */

.we-hover-energy:hover .we-energy-ring-1 {
    animation:
        energyWave
        1.8s
        ease-out
        .05s
        infinite;
}

.we-hover-energy:hover .we-energy-ring-2 {
    animation:
        energyWave
        1.8s
        ease-out
        .55s
        infinite;
}

.we-hover-energy:hover .we-energy-ring-3 {
    animation:
        energyWave
        1.8s
        ease-out
        1.05s
        infinite;
}


/* TARTALOM */

.we-hover-energy:hover .we-energy-content {
    transform:
        translateY(-4px)
        scale(1.02);

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


/* GÖMB */

@keyframes energyCore {

    0% {
        opacity: .4;
        transform: translate(-50%, -50%) scale(.7);
    }

    50% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.5);
    }

    100% {
        opacity: .4;
        transform: translate(-50%, -50%) scale(.7);
    }

}


/* HULLÁM */

@keyframes energyWave {

    0% {
        opacity: .8;
        transform:
            translate(-50%, -50%)
            scale(.3);
    }

    70% {
        opacity: .25;
    }

    100% {
        opacity: 0;
        transform:
            translate(-50%, -50%)
            scale(7);
    }

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