Im Web gibt es zwei gängige Ladesymbole: eines ist die „Chrysantheme“ von iOS und das andere ist der „Ring“ von Android. Heute verwenden wir SVG, um die „Ring“-Animation von Android und die „Chrysantheme“ von iOS in der nächsten Klasse zu implementieren. Hinweis : Da das GIF nur wenige Frames hat, ist der eigentliche Animationseffekt sehr flüssig von. xml(svg) <svg Breite="36" Höhe="36" Ansichtsbox="0 0 50 50" Klasse="a-loading-android"> <circle cx="25" cy="25" r="20" fill="keine" stroke="aktuelleFarbe" stroke-width="5"></circle> </svg> Zuerst definieren wir die SVG-Leinwandgröße als 50 x 50 und zoomen sie im Browser auf 36 x 36 (Sie können diese 36 entsprechend Ihren tatsächlichen Anforderungen anpassen), definieren die Mittelpunktskoordinaten des Rings als 25,25 , den Radius als 20 ( der Umfang beträgt etwa 125 , was später verwendet wird), die Farbe ist currentColor , um den Wert des Farbattributs des übergeordneten Elements zu erhalten, und die Breite des Rings beträgt 5 Pixel. Schauen wir uns die Wirkung an, bevor wir CSS schreiben: scss .a-wird geladen { &-android { Animation: 2 s rotieren, linear, unendlich; Transform-Origin: Mitte Mitte; >Kreis { Anzeige: Inline-Block; Animation: Sprint, 1500 ms, unendliches Ein- und Aussteigen; stroke-linecap: rund; // Der Endpunkt ist ein Kreis Farbe: aktuelleFarbe; } @keyframes drehen { 100 % { transformieren: drehen (360 Grad); } } @keyframes Strich { 0% { Schlaganfall-Dasharray: 1, 200; } 50 % { Strich-Dasharray: 100, 200; Strich-Schlag-Höhe: -45; } 100 % { Strich-Dasharray: 100, 200; Strich-Dashoffset: -124; } } } } Schlaganfall-Dasharray Lassen Sie uns zunächst Stellen Sie sich vor, der Ring würde auch durch eine gepunktete Linie dargestellt und die Länge des durchgezogenen Linienteils würde innerhalb des Umfangs des Rings variieren. Würde dies nicht erreicht (Halbring/Vollring usw.)? Die folgenden Werte von : Hinweis : wird willkürlich definiert und stellt die Lücke zwischen gestrichelten Linien dar, solange der Wert größer als der Umfang des Rings ist. Strich-Schlagsatz Offset, bei einem positiven Wert bewegt sich die gestrichelte Linie gegen den Uhrzeigersinn zurück, bei einem negativen Wert im Uhrzeigersinn vorwärts (stroke-dashoffset:0 im linken Bild liegt der Startpunkt des Rings bei 3 Uhr, nach dem Setzen auf -10 im rechten Bild ist der Startpunkt des Rings um eine Distanz im Uhrzeigersinn versetzt): Da in der Animation der Ring länger wird, während der Schwanz kürzer wird , ist eine Zusammenarbeit mit erreichen. 3 Schlüsselmomente in der Animation 0% Moment Lassen Sie den Ring nur einen Punkt anzeigen, damit die Animation nach einem Zyklus nicht abrupt endet (Sie können ihn auf 0 ändern, um den Effekt zu vergleichen). 50% Moment Damit der Ring 80 % des Rings ausmacht, wird die Länge der durchgezogenen Linie auf 100 gesetzt (125*0,8, wobei 125 der Umfang ist): 100% Momente Rückkehr zu einem Punktzustand, der dem 0 %-Zustand entspricht, sodass der Animationszyklus nicht abrupt ist. Die Animation von 50 % bis 100 % ist jedoch nur eine „Schwanzkontraktion“. Daher verwenden wir Gesamtrotation Um mit der Animation des Android-Systems konsistent zu sein, wird auch der gesamte Körper gedreht. Der Code hier ist relativ einfach und wird nicht wiederholt. Erweiterungen der Animationseigenschaft Wenn Sie die CSS- Wir können die obige Animation also tatsächlich erweitern, beispielsweise durch gleichzeitiges Rotieren und Ändern der Farbe : &-android { Animation: 2 s rotieren, linear, unendlich; Transform-Origin: Mitte Mitte; >Kreis { Anzeige: Inline-Block; // Codeanimation für Farbwechsel hinzufügen: Farbe 6 s, unendlich langsam ein- und ausblenden, Strich 1,5 s, unendlich langsam ein- und ausblenden; Strichlinienende: rund; Farbe: aktuelle Farbe; } @keyframes drehen { 100 % { transformieren: drehen (360 Grad); } } @keyframes Strich { 0% { Schlaganfall-Dasharray: 1, 200; } 50 % { Strich-Dasharray: 100, 200; Strich-Schlag-Höhe: -45; } 100 % { Strich-Dasharray: 100, 200; Strich-Dashoffset: -124; } } @keyframes Farbe { 0%, 100 % { Strich: #6b5c5b; } 40 % { Schlaganfall: #0057e7; } 66 % { Schlaganfall: #008744; } 80 %, 90 % { Schlaganfall: #ffa700; } } } Der Code in diesem Artikel bezieht sich auf iview , ein Vue-Framework. Zusammenfassen Oben habe ich Ihnen die Verwendung von CSS zur Implementierung der Ladeanimation des Android-Systems vorgestellt. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! |
<<: Analyse von drei Parametern des MySQL-Replikationsproblems
>>: Einführung in die Cloud-native-Technologie Kubernetes (K8S)
1. Inline-Referenz: Wird direkt auf dem Etikett v...
Als ich mich mit Inline-Blöcken beschäftigte, stel...
„Wir schreiben unsere nächste Reihe mobiler Produ...
Jeder muss mit Tabellen vertraut sein. Wir stoßen...
FIFO-Kommunikation (First In First Out) FIFO-Name...
Vorwort Im vorherigen Artikel „Detaillierte Erklä...
Umgebung: Mindestinstallation von CentOS 7.1.1503...
01PARTCoreWebApi Tutorial Lokale Demonstrationsum...
Inhaltsverzeichnis 1. Vorbereitung 2. Befehlszeil...
Die folgenden drei Methoden werden häufig verwende...
Inhaltsverzeichnis 1. Übersicht 1.1 Verwendung vo...
Erstellen eines Ordners Verzeichnisstruktur: daba...
Mit etwa Version 0.6 wurde Privileged in Docker e...
Inhalt 1. Container-Lebenszyklusmanagement (1) Do...
Manchmal sehen Sie in der if-Anweisung in JavaScr...