Beim Hinzufügen von Klassen zu SVG-Elementen gibt es zwei Möglichkeiten

Veröffentlicht: 2023-02-08

Beim Hinzufügen von Klassen zu SVG-Elementen gibt es zwei Möglichkeiten. Die erste und offensichtlichste Möglichkeit besteht darin, einfach das className-Attribut zu verwenden: var mySvg = document.querySelector('#my-svg'); mySvg.className = 'meine-klasse'; Dies funktioniert gut, wenn Sie nur mit einer einzelnen Klasse arbeiten, aber wenn Sie mehrere Klassen hinzufügen müssen, müssen Sie die classList-API verwenden: var mySvg = document.querySelector('#my-svg'); mySvg.classList.add('meine-klasse'); mySvg.classList.add('another-class'); Wenn Sie eine Klasse entfernen müssen, können Sie die Methode classList.remove() verwenden: mySvg.classList.remove('my-class'); Und schließlich, wenn Sie eine Klasse umschalten müssen (dh hinzufügen, wenn sie nicht vorhanden ist, oder entfernen, wenn sie vorhanden ist), können Sie die Methode classList.toggle() verwenden: mySvg.classList.toggle('my-class') ;

Das Document Object Model (DOM) kann verwendet werden, um sowohl HTML als auch SVGs darzustellen. Dadurch ist es relativ einfach, sie mit Javascript zu manipulieren. In dieser Lektion gehe ich darauf ein, wie man sowohl ein Inline- als auch ein externes SVG verwendet. GitHub hat eine Vielzahl von Codebeispielen bereitgestellt, die oben auf dieser Seite zu finden sind. Wenn Sie mit demselben Code ein externes SVG erstellen, kann der Inhalt des Elements im SVG selbst verwendet werden. Ein SVG kann nicht auf das darin eingebettete HTML-Dokument zugreifen und kann daher die anderen SVGs auf der Seite nicht anzeigen. Wenn Sie den Code mit CDATA umschließen, betrachtet die XML-Analyse den JS-Code als Teil von XML.

Das Erstellen und Entfernen von Elementen ist dasselbe, nur an verschiedenen Stellen. Mit der createElementNS()-Methode des relevanten Dokuments übergeben Sie den Tag-Namen und den Namensraum des relevanten Dokuments, um Elemente zu erstellen. Um ein Element zu entfernen, müssen Sie mit createTextNode() einen separaten Textknoten erstellen und ihn dann an das Element anhängen. Da sie sich nicht im selben Dokument befinden, können sie auf diese Weise verwendet werden.

Das class-Attribut weist dem svg>-Tag die folgenden Klassennamen zu: class, class und class. Verwenden Sie beim Definieren von Klassennamen entweder ein Stylesheet oder ein lokales Element mit einem Stilnamen. Stile werden mithilfe von Klassen erstellt, z. B. Klassennamen.

Was das Element-Styling anbelangt, unterstützt HTML die elementspezifischen „style“- und „class“-Attribute sowie die Klassen- und style-Attribute von HTML. Das 'class'-Attribut weist einem Element einen Namen zu, der dann verwendet wird, um das Element in der Styling-Sprache anzusprechen. Stilattribute werden von Elementen verwendet, um ihre CSS-Deklaration anzugeben.

Die Eigenschaften und Werte des HTML-Codes werden in den CSS-Eigenschaften und -Werten von SVG gespeichert. Es gibt einige Beispiele, die HTML-Eigenschaften sehr ähnlich sind.

Können Sie Klasse auf SVG setzen?

Können Sie Klasse auf SVG setzen?
Bildquelle: https://pinimg.com

Es ist möglich, class auf svg zu setzen, aber es wird nicht empfohlen, da es mit manchen Browsern zu Problemen führen kann.

Wenn Sie Ihrem SVG einen HTML-Namespace hinzufügen, können Sie die Elemente mit CSS formatieren und das SVG mithilfe der *Fremdobjekt-Eigenschaft laden, wodurch die Art und Weise, wie es angezeigt wird, geändert wird.

Organisieren Sie Ihr Grafikdesign mit SVGs

SVG-Dateien können bis zu drei Elemente mit der Bezeichnung „*svg“ enthalten. Das Organisieren Ihres Grafikdesigns in logischen Gruppen ist ebenfalls einfach.

Kann Javascript auf SVG angewendet werden?

Da sie in HTML eingebettet werden können, können unsere SVG-Bilder mit JavaScript bearbeitet werden. Wir können Teile eines Bildes aus Code animieren, es in eine datengesteuerte interaktive Umgebung umwandeln und Grafiken basierend auf Daten generieren.

DRY ist eine hervorragende Möglichkeit, Ihren Code schneller, robuster und weniger zeitaufwändig zu schreiben. In IE ist es nicht erforderlich, sich auf ein globales Ereignisobjekt zu verlassen. Legen Sie Ihr Ereignisobjekt auf den Ereignishandler fest. Da die x- und y-Variablen geändert wurden, sind keine weiteren Änderungen an ihren Attributen erforderlich. Die Keydown- und ASCII-Ereigniscodes, die ich oben angegeben habe, funktionieren in allen Browsern, wenn ich die ungeraden Zahlen und Keydown anstelle von Keypress verwendet habe. AddEventListener() kann verwendet werden, um Event-Handler an ein Element anzuhängen, indem nur die Attribute onfoo = * des Event-Handlers verwendet werden, anstatt die Attribute onfoo= * zu verwenden, um zu beschreiben, was passieren soll. Die äußere Funktion wird erst ausgeführt, nachdem die Seite geladen wurde, sodass keine Elemente referenziert werden müssen.

Zusammenfassend gibt es bei dieser Demo einige Dinge zu beachten. Das Tag svg> wird verwendet, um das SVG-Bild zu generieren. Im SVG-Bild wird ein Tag verwendet. Das svg-Tag befindet sich innerhalb des body-Elements. Ein Tag kann innerhalb eines Elements gefunden werden. Ein Bezeichner wird verwendet, um auf das Tag *svg> zu verweisen. Wenn ein Tag vorhanden ist, wird das Attribut verwendet, um darauf zu verweisen. Das Animationsattribut im svg>-Tag ist auf „ease out“ gesetzt. Darauf muss das AttributeaseOut gesetzt werden. Das Tag svg> hat ein Breiten- und Höhenattribut, das auf 100 %, 100 % festgelegt ist. Der folgende Code erstellt ein Bild mit SVG und definiert das Animationsattribut aseaseout. Als Format kann XML xmlns=“ http://www.w3.org/2000/svg“ width=100% height=100% id=demo-svg svg verwendet werden. Sie können auch mit SVG-Dateien interagieren, indem Sie mit der Maus darauf klicken. Diese Methode wird erreicht, indem ein neues Element erstellt, in das body-Element eingefügt und dann verlassen wird. Indem Sie dem Element den folgenden Code hinzufügen, können Sie Ihre SVG-Datei besser lesbar machen. svg> kann als Basisformat verwendet werden. *use xlink:href Auf diese Seite kann über die folgende URL zugegriffen werden: */svg. Auf diese Weise können Sie einen anklickbaren Punkt auf der SVG erstellen. Die Benutzeroberfläche kann durch zweimaliges Klicken auf einen Punkt aufgerufen werden. Was sind einige Anwendungen für die SVG-Interaktivität? Eine Vielzahl von Animationen kann interaktiv sein und gleichzeitig vom Benutzer initiiert werden. Wenn ein Benutzer auf ein SVG-Bild klickt, wird eine Animation generiert, die in Echtzeit zu sein scheint. Eine dritte Möglichkeit, Ihre Website interaktiv erscheinen zu lassen, besteht darin, interaktive SVG-Grafiken zu verwenden, die verwendet werden können, um die Illusion von Echtzeit-Interaktivität zwischen dem Benutzer und der Website hinzuzufügen. Um ein interaktives SVG-Bild zu erstellen, verwenden Sie zunächst das Tag svg>. Anschließend müssen Sie das *svg einfügen. In diesem Schritt müssen Sie das AnimationsattributeaseOut angeben. Ihre Webseite sieht genauso aus wie in der Demo, wenn alles richtig eingestellt ist. Es gibt einige Dinge, die Sie beim Ansehen dieser Demo beachten sollten. Zu Beginn muss dem Tag svg> das Bild folgen. Das zweite hinzuzufügende Element ist das HTML-Tag „svg“ innerhalb des body-Elements.

Warum Sie SVG verwenden sollten

XML- und Vektorbilder werden im SVG-Format verwendet . Dies bedeutet, dass die Größe geändert werden kann, ohne dass es zu einer Verschlechterung kommt, und dass es nicht von der Auflösung abhängt. CSS und/oder JavaScript können verwendet werden, um SVG einfach zu manipulieren und zu animieren. Daher führt die Verwendung von SVG zu einer schnelleren Seitenladezeit (anstelle von JPG, JPEG und PNG). JavaScript kann überall in einem SVG-Dokument zwischen den öffnenden und schließenden Tags eingefügt werden. Es wird generell empfohlen, ein Skript am Ende des Dokuments zu platzieren, um ein Blockieren zu verhindern und den vollständigen Zugriff auf das DOM zu ermöglichen. Wenn Sie SVG-Bilder direkt in ein HTML-Dokument schreiben möchten, können Sie dies tun, indem Sie den *svg-Code verwenden, der das SVG-Bild in VS-Code oder Ihrer bevorzugten IDE öffnet, es kopiert und in das body-Element Ihres HTML-Codes einfügt Dokument erforderlich. Wenn alles glatt gelaufen ist, sollte die Demo unten genauso aussehen.