So haben Sie mehr als ein SVG-Javascript

Veröffentlicht: 2023-01-28

Es ist nicht ungewöhnlich, dass Webentwickler mehr als eine skalierbare Vektorgrafik (SVG) auf ihren Webseiten einfügen möchten. Es gibt zwar verschiedene Möglichkeiten, dies zu erreichen, aber eine Methode ist die Verwendung von JavaScript, um den SVG-Code direkt in den HTML-Code einzubetten. Dies kann durch die Verwendung von erfolgen

Im ersten Teil dieser Serie haben wir uns angesehen, wie man grundlegende und fortgeschrittene Formen zeichnet. In Teil zwei gehen wir auf fortgeschrittene Fähigkeiten ein sowie darauf, wie SVG mit anderen Browsertechnologien wie CSS und JavaScript interagiert. Dieser Beitrag konzentriert sich auf das Erlernen der Erstellung von JavaScript-Komponenten. In diesem Abschnitt haben wir uns den Strich angesehen und die Attribute der SVG-Elemente ausgefüllt. Farbverläufe werden in zwei Typen eingeteilt: linear und radial. Sie können den Winkel des Farbverlaufs ändern, indem Sie die Deckkraft verschiedener Stopps steuern. Neben Mustern ist es möglich, sie zu verwenden, um die Form auf interessante Weise zu füllen.

Wenn wir ein Dreieck mit Smileys füllen wollen, stellen Sie sich vor, wir hätten 30 davon. Das ransform-Attribut ermöglicht es Ihnen, Formen mit SVG auf vielfältige Weise zu manipulieren. Um alle anderen Transformationen in einer Matrix auszudrücken, sowie die Zusammensetzung anderer Transformationen unter Verwendung einer Matrix, ist die Matrixtransformation die allgemeinste von allen. Beschneiden und Maskieren sind insofern ähnlich, als sie die gleiche Funktion wie Beschneiden ausführen, aber das Maskieren kann teilweise durch den Hintergrund verdeckt erscheinen. Mit dem CSS-Stil können Sie SVG-Elemente genauso gestalten wie HTML-Elemente. Das Erstellen einer CSS-Seite trennt nicht nur das Erscheinungsbild des CSS von dem der SVG-Datei , sondern trennt auch die CSS-Seite von der HTML-Seite. Bei Verwendung von Event-Listenern können diese direkt zu den SVG-Elementen hinzugefügt werden.

Wenn die Maus im folgenden Beispiel über den Kreis bewegt wird, ändert sich die Füllfarbe von Silber zu Gelb. Das SVG-Format ist ein ausgereiftes und anspruchsvolles Grafikformat. Es ist ein Vektorformat, das einfacher zu verwenden ist als JPEG und PNG, die beide Rasterformate sind. Es ist am besten, die richtigen Zeichenwerkzeuge zu verwenden, um die meiste Arbeit auf die effektivste Weise zu erledigen. Glücklicherweise gibt es zahlreiche Tools, die SVG-Ausgabeformate unterstützen. Mit SessionStack können Sie in Echtzeit sehen, was ein Benutzer durchgemacht hat, wodurch Sie Benutzersitzungen als Videos wiedergeben können. Die visuell beeindruckenden Funktionen dieser App zeigen, was passiert, wenn sie mit Ihren Grafiken interagieren, wie sie sie erleben, und identifizieren schnell Probleme. Wenn Sie SessionStack ausprobieren möchten, können Sie dies für eine begrenzte Zeit kostenlos tun.

Führen Sie zwei SVG-Javascripts zusammen

Führen Sie zwei SVG-Javascripts zusammen
Bildquelle: https://imgur.com

Es gibt ein paar Möglichkeiten, zwei svg javascript zusammenzuführen, aber am einfachsten ist es, eine Bibliothek wie D3.js zu verwenden. Mit D3 können Sie einfach die beiden Elemente auswählen, die Sie zusammenführen möchten, und die Funktion .merge() verwenden.

Mehrere SVG in einer Datei

Mehrere SVG in einer Datei
Bildquelle: https://boardbattendesign.com

Es ist möglich, mehrere SVGs in einer Datei zu haben, aber es wird nicht empfohlen. Jedes SVG sollte für die beste Organisation und Leistung eine eigene Datei sein.

In CodePen ist der gesamte Code, der im HTML-Editor erscheint, der Code, der in einer einfachen HTML5-Vorlage erscheint. Wenn Sie Klassen einbinden möchten, die sich direkt auf das gesamte Dokument auswirken, ist dies der richtige Ort. Eigenschafts- und Wertanbieter sind häufig verwendete Anbieterpräfixe für Eigenschaften und Werte, die ausgeführt werden müssen. Sie können von jedem beliebigen Ort im Internet aus eine Verbindung zu Ihrem Stift herstellen und von dort aus ein Skript verwenden. Geben Sie dann hier einfach eine URL in das URL-Feld ein und sie wird vor dem JavaScript im Stift hinzugefügt. Wenn die Dateierweiterung des von Ihnen verlinkten Skripts geändert wurde, werden wir versuchen, dies zu verarbeiten, bevor wir uns bewerben.

Inline-Svg-Javascript

Inline-Svg-Javascript
Bildquelle: https://imgur.com

Inline SVG ist eine XML-Auszeichnungssprache, mit der Vektorgrafiken direkt in einem HTML-Dokument angezeigt werden können. Dadurch können Entwickler Webseiten mit interaktiven Vektorgrafiken erstellen, ohne dass ein separates Plugin oder eine separate Anwendung erforderlich ist. Inline SVG ermöglicht es Entwicklern außerdem, Vektorgrafiken mit CSS zu stylen und sie mit JavaScript zu animieren.

Javascript-Funktionen können mit Inline-SVGs ausgeführt werden. Ich stellte fest, dass der von mir vorgeschlagene Ansatz nicht funktionieren würde, und befolgte daher die folgenden Schritte. Füllen Sie den Javascript-Block mit Ihrer Funktion aus, definieren Sie das onclick-Ereignis und fügen Sie einen Javascript-Block hinzu. Setzen Sie $action in die Funktion, um die Aktion voranzustellen. Gemäß den Empfehlungen, die ich in meinem vorherigen Artikel gemacht habe, habe ich einen PoC unterhalb der Schritte erstellt und sofort getestet. Wenn auf das Element geklickt wird, verwende ich die Client-Aktion Handler_OnSVGClick, die nur eine Nachricht enthält. Jo*o hat eine aufschlussreiche Lösung, und ich stimme zu, dass er ein intelligenterer Mann ist als ich.

Inline-Svg ist besser als externes Svg

Wenn Sie eine Inline-Svg-Datei erstellen möchten, verwenden Sie externe SVG-Dateien. In den meisten Fällen ist Inline-SVG die beste Wahl, auch wenn in einigen Fällen eine externe eingebettete Datei vorzuziehen ist. Es ist einfacher zu skripten, zu verwalten, zu stylen und zu pflegen.

SVG mit Javascript injizieren

Das Einfügen von SVG mit JavaScript kann auf verschiedene Arten erfolgen. Ein Ansatz besteht darin, eine SVG-Datei als Hintergrundbild für ein HTML-Element zu verwenden. Dies kann erreicht werden, indem die CSS-Eigenschaft „background-image“ auf „url(“path/to/file.svg“)“ gesetzt wird. Ein anderer Ansatz ist die Verwendung des ' ' Tag und setzen Sie das Attribut 'src' auf 'path/to/file.svg'.

Wie bei HTML wird eine Bepflanzung mit dem Document Object Model (DOM) dargestellt. Das bedeutet, dass sie relativ einfach mit Javascript manipuliert werden können. In diesem Abschnitt gehe ich darauf ein, wie man sowohl Inline- als auch externe SVGs verwendet . Die Codebeispiele finden Sie oben auf dieser Seite, auf die Sie zugreifen können, indem Sie auf den Github-Link klicken. Wenn Sie ein externes SVG verwenden, müssen Sie beim Laden eines <script>-Elements denselben Code einfügen. Da das SVG keine anderen SVGs auf der Seite sehen kann, kann es mithilfe eines in die Seite eingebetteten HTML-Dokuments erstellt werden. Wenn der Code in CDATA eingeschlossen ist, wird der JS-Code als Teil von XML betrachtet, unabhängig davon, wo er sich im geparsten befindet.

Das Erstellen und Entfernen von Elementen in HTML ist dasselbe. Die createElementNS-Methode des jeweiligen Dokuments muss den Tag-Namen sowie den Namensraum übergeben, der die zu erstellenden Elemente enthält. Um ein Element zu entfernen, muss ein separater Textknoten erstellt werden, der mit createTextNode an das Element angehängt werden muss. Dies funktioniert, weil sie sich nicht im selben Dokument befinden.

SVG-Bilder in CSS

SVG-Bilder sind für eine Vielzahl von Verwendungszwecken in CSS verfügbar. Die einfachste Möglichkeit, die SVG-Datei in ein Inline-Bild einzufügen, ist die Verwendung des Daten-URI-Formats. Sagen Sie zum Beispiel br. Es wird als URL (mySVG.svg) als Hintergrundbild ausgesprochen. Sie können diese Methode in jedem modernen Browser verwenden, ohne encodeURIComponent() aufrufen zu müssen, um den codierten Wert der Komponente abzurufen. Um SVG zu verwenden, ohne es in Ihrem CSS zu codieren, verwenden Sie die Inline-Style-Eigenschaft [br]. Es ist ein bisschen heikel. Inline-svg ist die Standardeinstellung. Es wird in allen modernen Browsern ohne Verwendung eines encodeURIComponent()-Aufrufs ausgeführt. Wenn Sie SVG in Ihrem CSS verwenden möchten, während es auch in älteren Browsern funktioniert, verwenden Sie bitte die Abkürzungseigenschaft svg(): https://br.shtml Wie Sie sehen können, wird * groß geschrieben. Ich verwende svg() für den Hintergrund. Alle modernen Browser sowie solche, die keine Inline-Stile unterstützen, funktionieren damit.

So verwenden Sie SVG in HTML

Mit dem Tag svg> */svg> können Sie Bilder direkt zu einem HTML-Dokument hinzufügen. Der folgende Schritt besteht darin, das SVG-Bild in Ihrem VS-Code oder Ihrer bevorzugten IDE zu öffnen, den Code zu kopieren und ihn in das body>-Element Ihres HTML-Dokuments einzufügen. Wenn alles andere vorhanden ist, sollten Sie eine Webseite haben, die genau so aussieht wie die Demo unten.

Das Definieren eines neuen Koordinatensystems und Ansichtsfensters ist eines der SVG-Elemente. Scalable Vector Graphics (SVG) ist ein Bildformat, das Vektordaten verwendet. Wenn Sie ein SVG verwenden, hat Ihr Bild keine eindeutigen Pixel, wie es bei anderen Bildtypen der Fall ist. Vektordaten werden verwendet, um Bilder zu erstellen, die auf jede beliebige Auflösung skaliert werden können. Um eine rechteckige Form in HTML zu erzeugen, verwenden Sie das Element >rect>. Der Stern kann mit Hilfe des PNG-Tags erstellt werden. Ein Logo kann in SVG mit einem linearen Farbverlauf erstellt werden.

Aufgrund der kleineren Dateigrößen ist es einfacher, Bilder mit SVGs auf Ihre Website zu laden. Die Auflösung spielt für den Ersteller von SVG-Grafiken keine Rolle. Daher sind diese Programme mit einer Vielzahl von Geräten und Browsern kompatibel. Wenn Rasterformate wie PNG und JPG vergrößert werden, werden sie digitalisiert. Inline-SVG ist eine einfache Methode zum Laden einer Bilddatei, die nicht von HTTP-Anfragen abhängig ist. Wenn Ihre Website responsiv ist, werden Ihre Benutzer dies bemerken.

SVG und CSS

SVG (Scalable Vector Graphics) ist ein XML-basiertes Vektorbildformat für zweidimensionale Grafiken mit Unterstützung für Interaktivität und Animation. CSS (Cascading Style Sheets) ist eine Stylesheet-Sprache, die verwendet wird, um die Präsentation eines Dokuments zu beschreiben, das in einer Auszeichnungssprache geschrieben ist. Ein CSS-Stylesheet ist eine Sammlung von Regeln, die einem Webbrowser mitteilen, wie er ein in HTML oder XML geschriebenes Dokument anzeigen soll.

Präsentationsattribute werden verwendet, um SVG-Elemente zu formatieren, und die Elemente können auch CSS-Eigenschaften sein. Fill kann beispielsweise verwendet werden, um die Farbe eines Elements in CSS von Weiß auf Rot zu ändern. Text, Maskierung, Filterung und Filtereffekte sind Beispiele für CSS- und SVG-Eigenschaften . Die CSS-Eigenschaften jedes SVG-Elements unterscheiden sich geringfügig von denen anderer Elemente. In der neuesten Version der Software sind Geometrieeigenschaften wie rx und ry definiert. Geometrieeigenschaften können ebenso wie Präsentationsattribute wie Füllung und Kontur als CSS-Eigenschaften verwendet werden. Das Element kann mithilfe von CSS als Überschreibung in eine Form umgewandelt werden.

Beim >rect>-Element können Sie die Höhe und Breite auch per CSS angeben. Die Form eines bestimmten Elements kann mithilfe der Eigenschaft d angegeben werden. Durch Hinzufügen einer Pseudoklasse a:active verwandelt sich die Form in ein Quadrat und die Füllfarbe ändert sich, wenn darauf geklickt wird. Um jeder Formklasse im CSS eine Animationsverzögerung hinzuzufügen, verwenden Sie eine Animationsverzögerung. Es ist nicht notwendig, diese Techniken sofort in der Produktion einzusetzen.

SVG-Zusammenführung

SVG Merge ist ein Befehlszeilentool, das mehrere SVG-Dateien nimmt und eine einzelne SVG-Datei ausgibt. Die Ausgabedatei enthält alle Formen aus den Eingabedateien, die zu einer zusammengeführt wurden.

Die Möglichkeit, mehrere SVG-Dateien zu einer zu kombinieren, wird durch die Verwendung von SVG Merger bereitgestellt. Das Tool kann verwendet werden, um die resultierende sva-Datei nach dem Zusammenfügen von SVG-Bildern zu exportieren. Dieses Programm läuft in jedem Webbrowser, unabhängig vom Betriebssystem. Es wird nicht empfohlen, dass die Größe der SVG-Datei 10 MB überschreitet.

SVG-Grafiken

SVG ist ein Vektorgrafikformat für zweidimensionale Grafiken mit Unterstützung für Interaktivität und Animation. Die SVG-Spezifikation ist ein offener Standard, der seit 1999 vom World Wide Web Consortium (W3C) entwickelt wird. SVG-Bilder und ihr Verhalten werden in XML-Textdateien definiert. Das bedeutet, dass sie durchsucht, indiziert, mit Skripten versehen und komprimiert werden können. Als XML-Dateien können SVG-Bilder mit jedem Texteditor erstellt und bearbeitet werden, werden aber häufiger mit Zeichensoftware erstellt.

Scalable Vector Graphics (SVG) ist eine Art Bibliothek für zweidimensionale Grafiken. Die Anwendung gliedert sich in zwei Teile: ein XML-basiertes Dateiformat und eine grafische Programmierschnittstelle. Mit den Hauptfunktionen können verschiedene Arten von Malstilen angewendet werden, darunter Formen, Text und eingebettete Rastergrafiken. Skriptsprache wie ECMAScript sowie vollständige Animationsunterstützung Führende Hersteller von Druckhardware entwickeln eine Version von SVG, die speziell für den Druck von Ausdrucken entwickelt wurde. Es gibt zahlreiche Anwendungsfälle, die XML-basierte Seitenbeschreibungen im Gegensatz zu Postscript und PDF beinhalten. Da viele Designtools den Import und Export von SVG unterstützen, kann es als plattformübergreifendes Austauschformat verwendet werden. Die SVG-Sprache beschreibt zweidimensionale Grafiken in XML.

Grafikobjekte können in drei Typen unterteilt werden: Vektorgrafiken, Bilder und Text. Objekte können in einem grafischen Kontext gruppiert, gestaltet, transformiert und zusammengesetzt werden. Geräte können Dinge wie industrielle Steuerungssysteme mit einem SVG-Frontend steuern und überwachen.