Der endgültige Effekt ist wie folgt: Die Animation ist in zwei Schritte unterteilt
Laufbahn entwickeln Wir müssen zuerst unten eine hellblaue, halbtransparente Straße als Pipeline für den Energiefluss zeichnen. Wir verwenden hier einen SVG-Pfad (tatsächlich können wir hier direkt das Hintergrundbild verwenden). Der Code lautet wie folgt: <!-- Der Code ist in React geschrieben und die Durchquerung und einige Codes wurden gelöscht--> <svg> <!-- Eingabeaufforderung zur Werkzeugbeschreibung, wird beim Füllen zum Filtern und für andere Vorgänge verwendet, hier ist das Leuchten an der Unterseite der Kugel--> <Definitionen> <radialGradient id="grad1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%"> <stop offset="0%" style={{ stopColor: "rgba(2,246,255,.5)" }} /> <stop offset="100%" style={{ stopColor: "rgba(2,246,255,0)" }} /> </radialGradient> </defs> <!-- Hier durchlaufen wir N hellblaue Linienpfade d als Pfad--> <Pfad d={item.path} Strich="rgba(29,159,167,0.4)" Füllung="transparent" Strichbreite={5}></Pfad> ... <!-- Hier ist eine leuchtende Kugel, die durch die Überlagerung zweier Kreise entsteht--> <g> <circle cx={cx} cy={cy} r="15" fill="url(#grad1)"></circle> <Kreis cx={cx} cy={cy} r="5" fill="rgba(2,246,255)"></Kreis> </g> </svg> DOM erstellen und entlang des Pfades animieren Das Kernprinzip besteht hierbei darin, den Bewegungsversatzpfad über die Eigenschaft „Offset-Pfad“ und dann den Versatz über die Versatzdistanz festzulegen, sodass sich das Element durch die CSS3-Animation entlang einer bestimmten Flugbahn bewegen kann. <!-- Hier müssen wir sicherstellen, dass die Box und die SVG-Box ausgerichtet sind und die gleiche Breite und Höhe haben, damit die Pfadpunkte konsistent sind--> <div Klassenname={styles.animate}> <!-- Hier durchlaufen wir N Divs und lassen jedes Div entsprechend dem OffsetPath fließen, der der Wert von d im Pfad in SVG ist --> <!-- Ein negatives „animationDelay“ bedeutet, dass es vor dem Rendern ausgeführt wird, sodass der gesamte Pfad während des Renderns abgedeckt werden kann--> <div key={index} className={styles.point3} style={{ "offsetPath": "Pfad('M 105 34 L 5 34')", "animationDelay": `-${index * 1}s`, "animationDuration": '5s', 'animationPlayState': `${stop ? 'paused' : 'running'}` }}></div> ... </div> .Punkt3 { Breite: 10px; Höhe: 2px; // Offset-Pfad: Pfad('M 248 108 L 248 172 L 1510 172'); Offset-Distanz: 0 %; Animation: Fluss 20 s linear normal unendlich; Hintergrundbild: linearer Farbverlauf (nach rechts, rgba (255, 255, 255, 0) 10 %, #FEFE02); Position: absolut; links: 0; rechts: 0; } } @Keyframes-Fluss { aus { Offset-Distanz: 0 %; } Zu { Offset-Distanz: 100 %; } } Dies ist das Ende dieses Artikels über die Verwendung von CSS-Animation mit SVG zum Erstellen von Energieflusseffekten. Weitere Informationen zur Verwendung von CSS-Animation mit SVG finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln unten. Wir hoffen, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! |
<<: Teilen Sie die Fallstricke von MySQLs current_timestamp und ihre Lösungen
>>: Formel und Berechnungsmethode zur Schätzung der Server-Parallelität
1. Das Tabellen-Tag ist Tabelle, tr ist Zeile, td ...
Inhaltsverzeichnis Ausgabe Ausgabepfad Ausgabe.öf...
Standardmäßig beträgt der Rand der Tabelle 0 und ...
1. Postgres-Datenbanksicherung in Docker Befehl: ...
Lua installieren wget http://luajit.org/download/...
1. Alibaba Cloud wählt den geeigneten Cloud-Serve...
Vorwort HTTP ist ein zustandsloses Kommunikations...
Wirkung html <div Klasse="sp-container&qu...
Heute zeige ich Ihnen, wie Sie mit JavaScript ein...
html, address,blockquote,body, dd, div,dl, dt, fie...
Inhaltsverzeichnis 1. Trigger-Einführung 1. Was i...
Lassen Sie uns zunächst darüber sprechen, warum w...
Inhaltsverzeichnis Über G2 Chart verwenden Vollst...
Es ist sehr mühsam, eine virtuelle Maschine einzu...
In diesem Artikel wird der spezifische Code von R...