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

Grundlegendes Tutorial zur Bedienung von Dateien und Berechtigungen in CentOS

Vorwort Bevor wir beginnen, sollten wir uns kurz ...

Zusammenfassung der Wissenspunkte zum B-Tree-Index bei der MySQL-Optimierung

Warum müssen wir SQL optimieren? Wenn wir SQL-Anw...

Vor- und Nachteile von React Hooks

Inhaltsverzeichnis Vorwort Vorteil: Mangel: 1. Re...

Zabbix überwacht Linux-Hosts basierend auf SNMP

Vorwort: Der Linux-Host ist relativ einfach zu ha...

Miniprogramm zur Implementierung der Sieve-Lotterie

In diesem Artikelbeispiel wird der spezifische Co...

Analyse des Linux-Hochleistungsnetzwerk-IO- und Reaktormodells

Inhaltsverzeichnis 1. Einführung in grundlegende ...

Wichtige Punkte zum Schreiben von Inhalten für META-Tags in HTML-Webseiten

Das META-Tag ist ein Hilfstag im Kopfbereich der ...

WeChat Mini-Programme werden global über die Uni-App geteilt

Bei der tatsächlichen Verwendung ist es häufig er...

Wie überwacht und erhält Zabbix Netzwerkgerätedaten über SSH?

Szenariosimulation: Das Betriebs- und Wartungsper...

Detaillierte Schritte zum Debuggen von VUE-Projekten in IDEA

Um JS-Code zu debuggen, müssen Sie jedes Mal eine...

Tutorial zur MySQL-Optimierung: Große Paging-Abfrage

Inhaltsverzeichnis Hintergrund LIMIT-Optimierung ...

Vue erhält Token zur Implementierung des Beispielcodes für die Token-Anmeldung

Die Idee hinter der Verwendung eines Tokens zur L...