Verwenden Sie reines CSS, um einen pulsierenden Loader-Effekt-Quellcode zu erstellen

Verwenden Sie reines CSS, um einen pulsierenden Loader-Effekt-Quellcode zu erstellen

Effektvorschau

Klicken Sie rechts auf die Schaltfläche „Klicken, um eine Vorschau anzuzeigen“, um eine Vorschau auf der aktuellen Seite anzuzeigen, und klicken Sie auf den Link, um eine Vorschau im Vollbildmodus anzuzeigen.

https://codepen.io/comehope/pen/wYvGwr

Interaktives Video

Dieses Video ist interaktiv, Sie können das Video jederzeit anhalten und den Code im Video bearbeiten.

Bitte verwenden Sie zum Öffnen und Ansehen Chrome, Safari oder Edge.

https://scrimba.com/p/pEgDAM/cnMgQTr

Quellcode herunterladen

Bitte laden Sie den vollständigen Quellcode der Daily Front-end Practice Series von GitHub herunter:

https://github.com/comehope/front-end-daily-challenges

Code-Interpretation

Definieren Sie DOM, der Container enthält 10 untergeordnete Elemente:

<div Klasse="Lader">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>

Zentraldisplay:

Körper {
    Rand: 0;
    Höhe: 100vh;
    Anzeige: Flex;
    Elemente ausrichten: zentrieren;
    Inhalt ausrichten: zentriert;
    Hintergrund: linearer Farbverlauf (#eee 70 %, rosa);
}

Stellen Sie den Containerstil auf einen Kreis mit rosa Hintergrund und Kontur ein:

.loader {
    Breite: 6em;
    Höhe: 6em;
    Polsterung: 3em;
    Schriftgröße: 10px;
    Hintergrundfarbe: rosa;
    Randradius: 50 %;
    Rand: 0,8em durchgehendes Pink;
}

Legen Sie für das Layout der untergeordneten Elemente die horizontale Kachelung fest:

.loader {
    Anzeige: Flex;
    Elemente ausrichten: zentrieren;
    Inhalt ausrichten: Abstand dazwischen;
}

So legen Sie den Stil eines untergeordneten Elements fest:

.loader > span {
    Breite: 0,5em;
    Höhe: 50%;
    Hintergrundfarbe: Dunkelrosa;
}

Fügen Sie untergeordneten Elementen Animationseffekte hinzu:

.loader > span {
    transformieren: scaleY(0,05) translateX(-0,5em);
    Animation: Span-Animation, 1,5 s, unendliches Ein- und Ausblenden;
}
@keyframes span-animieren {
    0 %, 100 % {
        transformieren: scaleY(0,05) translateX(-0,5em);
    }
    15 % {
        transformieren: scaleY(1.2) übersetzenX(1em);
    }
    90 %, 100 % {
        Hintergrundfarbe: Hotpink;
    }
}

Legen Sie den Unterelementindex fest, damit die Unterelemente Animationen nacheinander abspielen:

.loader > span {
    Animationsverzögerung: calc(var(--n) * 0,05 s);
}
.loader > span:nth-child(1) { --n: 1; }
.loader > span:nth-child(2) { --n: 2; }
.loader > span:nth-child(3) { --n: 3; }
.loader > span:nth-child(4) { --n: 4; }
.loader > span:nth-child(5) { --n: 5; }
.loader > span:nth-child(6) { --n: 6; }
.loader > span:nth-child(7) { --n: 7; }
.loader > span:nth-child(8) { --n: 8; }
.loader > span:nth-child(9) { --n: 9; }
.loader > span:nth-child(10) { --n: 10; }

Fügen Sie eine Containeranimation hinzu, um den Pulsationseffekt zu verstärken:

.loader {
    Animation: Loader-Animation, 1,5 s, unendliches Ein- und Ausfahren;
}
@keyframes loader-animieren {
    45 %, 55 % {
        transformieren: Skalierung (1,05);
    }
}

Zusammenfassen

Oben sehen Sie den vom Editor eingeführten Quellcode zum Erstellen eines pulsierenden Ladeeffekts mit reinem CSS. Ich hoffe, er ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

<<:  Der gesamte Prozess der lokalen Konfiguration des Reverse-Proxys über Nginx

>>:  Zusammenfassung der JS-Tipps zum Erstellen oder Füllen von Arrays beliebiger Länge

Artikel empfehlen

Vue realisiert kaskadierende Auswahl von Provinzen, Städten und Bezirken

Vor Kurzem musste ich einen kaskadierenden Auswah...

So wird eine Select-Anweisung in MySQL ausgeführt

Inhaltsverzeichnis 1. MySQL aus einer Makroperspe...

HTML+CSS+JS zur Implementierung des Spiels „Nicht auf das Whiteboard treten“

Inhaltsverzeichnis Hintergrund 1. Gedankenanalyse...

Beispiel für die Bereitstellung von MySQL auf Docker

Inhaltsverzeichnis 1 Was ist eine Container-Cloud...

Konvertieren von XHTML-CSS-Seiten in Druckerseiten

<br />In der Vergangenheit musste zum Erstel...

Analysieren Sie die Dauer von TIME_WAIT aus dem Linux-Quellcode

Inhaltsverzeichnis 1. Einleitung 2. Lassen Sie un...

Eine kurze Diskussion zu DDL und DML in MySQL

Inhaltsverzeichnis Vorwort 1. DDL 1.1 Datenbankop...

Beispielcode für die Master-Slave-Trennung einer MySQL-Datenbank

einführen Durch das Einrichten einer Lese-/Schrei...