Dark CSS

Heart Loader

Facebook
Twitter
WhatsApp

project preview

html code goes here

				
					<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="container">
        <div class="preloader">
            <span></span>
            <span></span>
            <span></span>
        </div>
        <div class="shadow"></div>
    </div>

</body>
</html>
				
			

CSS code goes here

				
					* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html,
body {
    display: grid;
    height: 100%;
    place-items: center;
    background: #212121;
}

.container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.container .preloader {
    animation: rotate 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
}

@keyframes rotate {
    50% {
        transform: rotate(360deg);
    }

    100% {
        transform: rotate(720deg);
    }
}

.preloader span {
    --c: #f23f3f;
    position: absolute;
    display: block;
    height: 64px;
    width: 64px;
    background: var(--c);
    border: 1px solid var(--c);
    border-radius: 100%;
}

.preloader span:nth-child(1) {
    transform: translate(-28px, -28px);
    animation: shape_1 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
}

@keyframes shape_1 {
    60% {
        transform: scale(0.4);
    }
}

.preloader span:nth-child(2) {
    transform: translate(28px, -28px);
    animation: shape_2 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
}

@keyframes shape_2 {
    40% {
        transform: scale(0.4);
    }
}

.preloader span:nth-child(3) {
    position: relative;
    border-radius: 0px;
    transform: scale(0.98) rotate(-45deg);
    animation: shape_3 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
}

@keyframes shape_3 {
    50% {
        border-radius: 100%;
        transform: scale(0.5) rotate(-45deg);
    }

    100% {
        transform: scale(0.98) rotate(-45deg);
    }
}

.shadow {
    position: relative;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    height: 16px;
    width: 64px;
    border-radius: 50%;
    background-color: #d9d9d9;
    border: 1px solid #d9d9d9;
    animation: shadow 2.3s cubic-bezier(0.75, 0, 0.5, 1) infinite;
}

@keyframes shadow {
    50% {
        transform: translateX(-50%) scale(0.5);
        border-color: #f2f2f2;
    }
}