Vissza az animációkhoz
Loading animációk

Folyamatosan épülő kör

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

Élő előnézet
HTML · CSS · JS
HTML
<div class="we-loading-ring">
    <div class="we-loading-ring-circle"></div>
    <div class="we-loading-ring-dot"></div>
</div>
CSS
.we-loading-ring {
    position: relative;
    width: 96px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.we-loading-ring-circle {
    position: absolute;
    inset: 4px;
    border: 3px solid rgba(122, 201, 142, .16);
    border-top-color: #7ac98e;
    border-right-color: #3f9f63;
    border-radius: 50%;
    animation: weLoadingRing 1s linear infinite;
}

.we-loading-ring-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #7ac98e;
    box-shadow: 0 0 18px rgba(122, 201, 142, .55);
    animation: weLoadingDot .9s ease-in-out infinite alternate;
}

@keyframes weLoadingRing {
    to {
        transform: rotate(360deg);
    }
}

@keyframes weLoadingDot {
    from {
        transform: scale(.65);
        opacity: .55;
    }

    to {
        transform: scale(1.15);
        opacity: 1;
    }
}
JavaScript
document.querySelectorAll(".we-loading-ring").forEach(loader => {
    loader.setAttribute("aria-label", "Betöltés");
});