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

MySQL 5.7.17 Winx64 Installations- und Konfigurations-Tutorial

Heute habe ich die MySQL-Datenbank erneut auf mei...

Vollständige Liste der CentOS7-Firewall-Betriebsbefehle

Inhaltsverzeichnis Installieren: 1. Grundlegende ...

So deklarieren Sie einen Cursor in MySQL

So deklarieren Sie einen Cursor in MySQL: 1. Vari...

Implementierung des Docker-Verpackungsimages und Konfigurationsänderung

Ich bin in letzter Zeit beim Erlernen von Docker ...

Detaillierte Schritte zur Installation von MYSQL8.0 auf CentOS7.6

1. Im Allgemeinen ist MariaDB in CentOS standardm...

Lernprogramm zur Verwendung des WeChat-Applets WXS

Was ist wxs? wxs (WeiXin Script) ist eine Skripts...

Detaillierte Erläuterung der Anwendungsbeispiele für Vue-Router 4

Inhaltsverzeichnis 1. Installieren und erstellen ...

Vue implementiert Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Tipps zum reflektierenden Lernen von JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Schnittstelle...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.18 (Linux)

Dieser Artikel zeichnet das grafische Tutorial zu...

Beispiel zum Aktivieren langsamer Abfragen in MySQL

Vorwort Das langsame Abfrageprotokoll ist eine se...

MySQL 5.7.18 Installer Installation Download Grafik-Tutorial

Dieser Artikel enthält das ausführliche Installat...

So lösen Sie das Phantomleseproblem in MySQL

Inhaltsverzeichnis Vorwort 1. Was ist Phantomlese...