Animierte skalierbare Vektorgrafiken mit GSAP

Veröffentlicht: 2022-12-06

Angenommen, Sie möchten ein Tutorial zum Animieren von skalierbaren Vektorgrafiken (SVG):
SVG ist ein Standard, der von Entwicklern und Designern verwendet wird, um zweidimensionale Vektorgrafiken zu erstellen. Obwohl das Format in der Lage ist, reichhaltige Grafiken zu erstellen, sind die Dateien in der Regel kleiner als andere gängige Bildformate, was sie ideal für die Verwendung im Internet macht.
Wenn es um die Animation von SVG geht, gibt es verschiedene Möglichkeiten, dies zu tun. GSAP von GreenSock ist vielleicht die beliebteste Option, aber es ist nicht die einzige. In diesem Tutorial sehen wir uns an, wie man SVG mit den Tools von GSAP animiert und wie man Animationen mit JavaScript auslöst.

Dies wird durch Inline- (SVG-Code in HTML) und CSS-basierte Animationen der Teile erreicht. Meine Alma Mater Wufoo wollte die hier verwendeten Werbegrafiken auffrischen. Es schien ein guter Zeitpunkt zu sein, es noch mehr zu nutzen. Wie es gemacht wurde, wird im Video unten gezeigt. CSS würde von der nativen Randomisierung von Animationsverzögerungseigenschaften profitieren. Wäre cool zu sehen, dass die Buchstaben in jedem Intervall nur ein wenig angepasst werden. Es wäre schön gewesen, wenn diese Animation in etwa 3 Sekunden beendet worden wäre.

Der translateY(150px)-Effekt bewirkt, dass sich der Dinosaurier so weit nach unten bewegt, dass nichts mehr zu sehen ist. Der Dinosaurier ist in dieser Werbung zunächst versteckt, aber wenn eine Ein-/ Ausblendanimation eingeblendet wird, erscheinen die Worte Fast. Durch die Verwendung der alten Padded-Box-Technik können wir eine Inline-SVG-Skalierung erstellen, die ihr Seitenverhältnis beibehält und gleichzeitig Inline-SVG verwendet. Da es sich um eine Anzeige handelt, könnten Sie ein <a href=> verwenden, stellen Sie nur sicher, dass Sie die block-Eigenschaft auf display: block setzen, anstatt ein <div> zu verwenden.

Der Akt der Erstellung animierter Objekte. Der Exporter kann verwendet werden, um SVG-Animationen zu erstellen. Wenn der Rendermodus auf Animation eingestellt ist, wird der gesamte Frame eines Renderings, egal ob es sich um einen Frame (F12 oder Umschalt-F12) oder alle Frames in einem Rendering (Umschalt-F12 oder F12) handelt, in einer einzigen Datei gespeichert.

Animationselemente können zur Erstellung von SVG-Grafiken verwendet werden. Die ersten Animationselemente von SMIL wurden wie folgt identifiziert: *animate%27/animate%27 – was Ihnen erlaubt, skalare Attribute und Eigenschaften im Laufe der Zeit zu animieren.

In den meisten Fällen ist die Verwendung von *img-Tags die Hauptursache für eine fehlgeschlagene SVG-Animation . Wenn die Animation beginnt, ist das SVG möglicherweise auf der Website sichtbar, beginnt jedoch nicht. Der einfachste Weg, dies zu lösen, besteht darin, alle img>-Tags durch ein object>-Tag zu ersetzen.

In SVG können Sie die Vektorgrafiken im Laufe der Zeit ändern, um animierte Effekte zu erzeugen. Es gibt mehrere Möglichkeiten, SVG-Inhalte zu animieren. Für dieses Stück verwende ich die Animationselemente von SVG [svg-animated]. Die in einem SVG-Dokumentfragment enthaltenen Daten können beschrieben werden, indem Änderungen an den Elementen des Dokuments basierend auf der Zeit vorgenommen werden.

Wie erstelle ich ein animiertes SVG?

Wie erstelle ich ein animiertes SVG?
Bildquelle: colorlib

Es gibt mehrere Möglichkeiten, ein animiertes SVG zu erstellen. Eine Möglichkeit besteht darin, ein Vektorzeichenprogramm wie Adobe Illustrator zu verwenden, um die Grafik zu erstellen, und dann ein Tool wie After Effects zu verwenden, um die Animation hinzuzufügen. Eine andere Möglichkeit besteht darin, ein Tool wie Snap.svg zu verwenden, um die Animation direkt im Code zu erstellen.

Dieses Tutorial führt Sie durch die grundlegenden Schritte der Optimierung und Animation mit CSS im Kontext von sva. Die einzige für diesen Zweck verfügbare Bootstrap-Version ist Bootstrap 4.1.3. Stellen Sie beim Bootstrap sicher, dass Ihr SVG die Klasse img-fluid enthält, um sicherzustellen, dass es auf Mobilgeräten richtig skaliert wird. Das Bild kann angepasst werden, indem dem SVG Klassen hinzugefügt werden. Wenn wir CSS bitten, einen Effekt auf eine Animation anzuwenden, müssen wir ihren Namen und Keyframes angeben. Wenn das Rechteck vollständig eingeblendet ist, muss gleichzeitig die Textanimation ablaufen. Aufgrund dieser Änderung befindet sich der kubische Bezier auf diesem Schritt jetzt in einem schnelleren Bewegungszustand. Diese Animation erscheint zu 40 % der Zeit in unserer Mitte. Wir setzen das Stroke-Dashoffset zurück, sodass der Strich den gesamten Pfad abdeckt.

So animieren Sie ein SVG

Das Erstellen einer animierten SVG-Datei kann dank der richtigen Werkzeuge ein einfacher und angenehmer Prozess sein. Wenn Sie den zu animierenden Rahmen auswählen, können Sie ihn mit SVG exportieren. Sie können auch einen Knoten in diesem Rahmen auswählen, um ihn zu animieren. Mit der Live-Vorschau können Sie Ihre Animationen optimieren, bis Sie zufrieden sind.
Bevor Sie eine HTML-Datei animieren können, müssen Sie zunächst Keyframes und Namen deklarieren. Pflegen Sie die Eigenschaften, indem Sie sie den Elementen zuweisen. Nachdem alle Elemente bearbeitet wurden, speichern Sie die endgültige Datei.

Animieren Sie SVG-Css

Animieren Sie SVG-Css
Bildquelle: pinimg

Das Animieren einer SVG-Datei kann mit CSS erfolgen. Es gibt eine Reihe verschiedener Eigenschaften, die zum Erstellen der Animation verwendet werden können. Die gebräuchlichsten Eigenschaften sind: Animation, Animationsverzögerung, Animationsdauer, Animationswiederholungsanzahl, Animationsname, Animationswiedergabezustand, Animationstimingfunktion.

Skalierbare Vektorgrafiken (SVG), ein XML-basiertes Vektorbildformat, ermöglichen Interaktivität sowie Animationen in zweidimensionalen Grafiken. Dieser Artikel behandelt, wie Sie sva-Dateien exportieren und optimieren, sie einbetten und erklären, wie sich jede von ihnen auf die von Ihnen erstellten Stile und Animationen auswirkt. CSS wird zum Stylen und Animieren verwendet. Wenn Sie mit einer Datei mit vielen Pfaden arbeiten, kann die Änderung der Anzahl der Dezimalstellen von vier auf eine die Dateigröße um 50 % verringern. Sie können eine Vorschau einer Optimierung anzeigen, wenn Ihre Datei dadurch beschädigt wird. Dies ist also ein großes Plus. Das Online-Tool von Peter Collingridge zur Optimierung von sva ist eines von mehreren verfügbaren. Da SVG 1.1 kein CSS erforderte, wurden die CSS-Stilattribute, die auf SVG-Knoten angewendet wurden, als Präsentationsattribute bezeichnet.

Das Festlegen von Präsentationsattributen ähnelt dem Festlegen einer CSS-Eigenschaft für ein Element. Obwohl sie eine wichtige Rolle in der Stilkaskade spielen, werden wir dies bald ausführlicher erläutern können. CSS-Eigenschaften können auch verwendet werden, um die Stile eines SVG-Elements zu definieren. Die Verwendung von Präsentationsattributen auf einem sva-Knoten entspricht der Verwendung zum Definieren einer CSS-Eigenschaft. Alle Präsentationsattribute sind Autoritäts-Stylesheets auf niedriger Ebene, sodass sie von jeder anderen Stildefinition angegeben werden können. Stile weiter unten im Diagramm, wie z. B. der obere, sollten über den darüber liegenden verwendet werden. Die dynamischen Pseudoklassen von CSS2 wie:hover,:active und:focus werden zur Gestaltung der meisten SVGs verwendet.

Die Fähigkeit von SVG -Elementen, auf die gleiche Weise wie HTML-Elemente zu transformieren und den Ursprung zu transformieren, ist analog zur Fähigkeit von HTML-Elementen, auf die gleiche Weise wie CSS-Elemente zu transformieren und den Ursprung zu transformieren. Da SVGs nicht von Box-Modellen gesteuert werden, fehlt ihnen wie bei HTML-Elementen ein Rand, eine Auffüllung oder ein Rand. Wie in der Silbenspezifikation angegeben, werden die entsprechenden Eigenschaftsnamen (normalerweise Kleinbuchstaben und Bindestriche) durch die CSS-Spezifikationen definiert. Wenn ein Transformationsursprungswert in Prozent angegeben wird, wird er in Relation zum Begrenzungsrahmen des Elements gesetzt. Ab sofort unterstützt Firefox das Festlegen des Ursprungs in Prozentwerten für die Transformation nicht. Wenn Sie möchten, dass sich die Transformationen langfristig richtig verhalten, sollten Sie absolute Werte verwenden. Es gibt sechs Möglichkeiten, ein SVG in ein Dokument einzufügen, jede mit ihren eigenen Vor- und Nachteilen.

Sie können bestimmen, ob bestimmte CSS-Stile, Animationen und Interaktionen funktionieren, nachdem Sie eine SVG-Datei mit der Embed-Methode eingebettet haben. Weitere Informationen zu dieser Technik finden Sie in dem ausgezeichneten Artikel von Jake Archibald. Es wird immer noch weitgehend unterstützt, obwohl der HTML-Standard nie festgelegt hat, wie es zu formatieren ist. Das >svg>-Tag kann auch verwendet werden, um ein SVG inline in ein Dokument einzubinden, was als Codeinsel bezeichnet wird. Da das SVG mit Inline-SVGs und CSS gestaltet und animiert werden kann, ist es einfacher, damit zu arbeiten. Wenn Sie ein SVG einbetten, stellen Sie sicher, dass es in alle Browser einbettbar ist. Abhängig von der Einbettungstechnik müssen Sie möglicherweise Hacks oder Korrekturen hinzufügen, um Ihr SVG-Cross-Browser-kompatibel zu machen.

Um die Details zu sehen, lesen Sie meinen Artikel über Codrops. Es ist unmöglich, neue Hacks hinzuzufügen, wenn ein Bild als Hintergrund in ein SVG eingebettet ist. Außerdem müssen Sie sicherstellen, dass die Breite Ihres Elements 100 % beträgt. In CSS ist 300 x 150 Pixel die Standardgröße für ersetzte Elemente. Nur der Adobe Photoshop-Hack, der von Thierry Koblentz auf A List Apart entwickelt wurde, kann einen Iframe responsive machen. CSS-Medienabfragen können auch an SVG gesendet werden. Mit Medienabfragen können Sie die Stile einer SVG-Datei über alle Darstellungsbereichsgrößen hinweg ändern. Wenn das SVG auf den Viewport einer Seite antwortet, ist es nicht der Viewport der Seite, sondern sein eigener Viewport. Dies ist das gleiche Konzept wie Elementabfragen in der Praxis.

SVG-Animation mit CSS

CSS kann verwendet werden, um animierte Bilder in diesem vielseitigen Bildformat zu erstellen. Dadurch können komplexere Effekte besser betrachtet und besser verstanden werden. Indem Sie dem SVG einfache Klassen hinzufügen, können Sie die Form des Bildes nach Belieben ändern. Sie können damit dynamischere Grafiken erstellen.

So animieren Sie den SVG-Pfad

Es gibt verschiedene Möglichkeiten, einen SVG-Pfad zu animieren: 1. Verwendung des SVG-Transformationsattributs 2. Verwendung von CSS3-Animationen 3. Verwendung von SMIL 4. Verwendung von JavaScript Das Transformationsattribut ist die gebräuchlichste Art, einen SVG-Pfad zu animieren. Dadurch können Sie den Pfad animieren, indem Sie die Koordinaten des Pfads transformieren. Um den Pfad mit CSS3 zu animieren, müssen Sie die Eigenschaft animation-timing-function auf linear oder alternativ setzen. Anschließend können Sie die Eigenschaft animation-duration auf die Dauer festlegen, die die Animation ausgeführt werden soll. SMIL ist eine weitere Möglichkeit, den Pfad zu animieren. SMIL steht für Synchronized Multimedia Integration Language. Auf diese Weise können Sie den Pfad mithilfe des Elements animieren. Die letzte Möglichkeit, den Pfad zu animieren, ist die Verwendung von JavaScript. Dazu müssen Sie eine Funktion erstellen, die die Koordinaten des Pfads aktualisiert. Anschließend können Sie diese Funktion aufrufen, um die Animation auszuführen.

Mit einem SVG-Pfad können Sie ganz einfach alles erstellen. Es ist ein Vektorbildformat, das nicht aus farbigen Pixeln, sondern aus mathematischen Funktionen besteht, die nach ihrer Erstellung auf dem Bildschirm interpretiert werden können. Dieser Artikel zeigt Ihnen, wie Sie mithilfe der Funktion getPointAtLength() im getPointAtLength()-Kontext einen SVG-Pfaddatensatz für kreative Zwecke verwenden. Wir werden in jedem Bild dieser Animation ein neues Kreiselement entlang eines Pfads animieren. Jeder Frame wird mit einem neuen Partikel geladen, das durch Drücken der createParticle-Funktion auf jedem Frame erstellt wird. Um die Animation schöner zu machen, habe ich auch das Stroke-Dashoffset der Sicherung animiert, damit es realistischer aussieht. Wir haben jetzt die Möglichkeit, Koordinaten von Punkten aus einem SVG-Pfad zu extrahieren und sie mit unserer neuen API auf jeden anderen Pfad anzuwenden. Da die Animation jedes Vektors ihre eigene Verzögerung hat, die von ihrer eigenen Position entlang des Pfads berechnet wird, wird erwartet, dass sie einen schönen Partikelfluss erzeugt. Bitte nehmen Sie sich die Zeit, diese Technik auszuprobieren, und teilen Sie mir Ihre Ergebnisse auf Twitter mit. Ich kann es kaum erwarten zu sehen, was Ihnen einfällt.

Warum Sie SVGs auf Ihrer Website animieren sollten

Auf JavaScript kann über das Menü Externes JavaScript zugegriffen werden. Sie müssen die Länge der Striche (und Lücken) gleich der Pfadlänge einstellen, um diesen Pfad so zu animieren, als würde er langsam und gleichmäßig auf dem Bildschirm gezeichnet. Die Länge jedes Strichs und jeder Lücke im gekrümmten Pfad ist gleich der Länge des gesamten Pfads. Wie animiert man Sva? Die Verwendung von CSS und SVGs zum Animieren von Websites führt zu schnelleren Ladezeiten im Vergleich zu sperrigen Gifs und Videos. Die Möglichkeit, Ihre Website zu animieren, ohne eine weitere JavaScript-Bibliothek zu installieren, ermöglicht Ihnen auch einfache Animationen beim Laden der Seite. Glauben Sie, dass SMIL von der Liste gestrichen wird? Es ist in der Tat kein Ersatz für SMIL-Animationen . Obwohl die Spezifikation auf SMIL basiert, hat sie sich im Laufe der Jahre stark weiterentwickelt. Der Browser unterstützt dies auf vielfältige Weise.

Beispiel für eine SVG-Animation

Es gibt einige verschiedene Arten von Animationen, die mit SVG verwendet werden können. Diese beinhalten:
-SMIL-Animationen: Dies sind Animationen, die in SMIL (Synchronized Multimedia Integration Language) geschrieben sind. SMIL ist eine XML-basierte Sprache, die verwendet wird, um Timing und Animation zu beschreiben.
-CSS-Animationen: Dies sind Animationen, die in CSS geschrieben sind. CSS ist eine Stylesheet-Sprache, die verwendet wird, um die Präsentation von Dokumenten zu beschreiben, die in einer Auszeichnungssprache geschrieben sind.
-JavaScript-Animationen: Dies sind Animationen, die in JavaScript geschrieben sind. JavaScript ist eine Programmiersprache, die verwendet wird, um interaktive Webseiten zu erstellen.

Eine SVG (skalierbare Vektorgrafik) ist ein visuelles Element, das auf jede beliebige Größe skaliert werden kann. Sie lassen sich später in ihrem Leben leichter modifizieren und anpassen, da sie codebasiert und nicht pixelbasiert sind. Was sind die besten Teile von SVG? Die Animationen sind sehr klein und sehr schnell zu laden. Sie sind ideal für eine Vielzahl moderner Webdesign-Anwendungen. Der Animator kann zum Animieren eines Bildes verwendet werden, wenn er damit verbunden wurde und seine Animationseinstellungen festgelegt wurden. Verwenden Sie das SVG-Animationstool von Framer, wenn Sie SVGs mit CSS, JavaScript oder HTML animieren möchten.

Kann SVG CSS animieren?

Es sind andere Animationswerkzeuge verfügbar, aber sie sind nicht so einfach zu animieren wie CSS.

Warum SVG das überlegene Bildformat für Webdesign ist

Scalable Vector Graphics (SVG) ist ein Vektorbildformat, das verwendet werden kann, um qualitativ hochwertige Bilder zu erstellen, die SEO-freundlich und skalierbar sind. Abgesehen davon, dass es einfach zu bearbeiten ist, verfügt es auch über eine große Auswahl an integrierten Filtern, mit denen ansprechende und optisch ansprechende Benutzeroberflächeneffekte erstellt werden können. Der andere Typ ist CSS, ein traditionelleres textbasiertes Format, das skalierbar und schwieriger anzupassen ist.