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

Analyse der Verwendung und des Prinzips der Docker Swarm-Clusterverwaltung

Schwarmclusterverwaltung Einführung Docker Swarm ...

el-table in vue realisiert automatischen Deckeneffekt (unterstützt feste)

Inhaltsverzeichnis Vorwort Umsetzungsideen Wirkun...

So konvertieren Sie zusätzlichen Text in HTML in Auslassungspunkte

Wenn Sie zusätzlichen Text in HTML als Auslassung...

Detaillierte Analyse des Blockierungsproblems von js und css

Inhaltsverzeichnis DOMContentLoaded und laden Was...

MySQL ändert die Standard-Engine und Zeichensatzdetails

Inhaltsverzeichnis 1. Datenbankmodul 1.1 Datenban...

Analysieren von AB-Leistungstestergebnissen unter Apache

Ich habe immer Loadrunner für Leistungstests verw...

Mehrere Gründe, HTML nicht zu komprimieren

Der Grund ist einfach: In HTML-Dokumenten entsprec...

Warum kann mein Tomcat nicht starten?

Inhaltsverzeichnis Phänomen: Portnutzung: Rechtsc...

Vue implementiert eine Formularvalidierungsfunktion

Dieser Artikel beschreibt hauptsächlich, wie die ...

Jenkins+Gitlab+Nginx Bereitstellung einer Front-End-Anwendung

Inhaltsverzeichnis Zugehörige Abhängigkeitsinstal...

Mehrere Möglichkeiten zum Senden von HTML-Formularen_PowerNode Java Academy

Methode 1: Absenden über den Absenden-Button <...