Heim > Web-Frontend > CSS-Tutorial > Wie kann ich eingebettete SVGs mit dem „'-Tag formatieren?

Wie kann ich eingebettete SVGs mit dem „'-Tag formatieren?

Patricia Arquette
Freigeben: 2024-12-25 17:50:14
Original
665 Leute haben es durchsucht

How Can I Style Embedded SVGs Using the `` Tag?

Anwenden von Stilen auf eingebettete SVGs

Im Gegensatz zu SVGs, die direkt über das eingebunden werden Tag, eingebettete SVGs mit dem -Tag kann nicht mit CSS aus dem Stylesheet des Dokuments gestaltet werden.

Technische Erklärung

Stylesheets gelten nur innerhalb der Grenzen des Dokuments, in dem sie definiert sind. Eingebettete SVGs werden als separat betrachtet Dokumente, und daher können extern definierte Stile sie nicht beeinflussen.

Lösung: Skriptbasierter Stil Einfügung

Da das -Tag bietet Zugriff auf das eingebettete SVG-Dokument. Sie können Stilelemente programmgesteuert in das eingebettete Dokument einfügen. Hier ist ein Beispiel:

var svgDoc = yourObjectElement.contentDocument;
var styleElement = svgDoc.createElementNS("http://www.w3.org/2000/svg", "style");
styleElement.textContent = "svg { fill: #fff }";
svgDoc.getElementById("where-to-insert").appendChild(styleElement);
Nach dem Login kopieren

Dies setzt voraus, dass das Das Element wurde vollständig geladen, bevor das Skript ausgeführt wird.

Alternative Ansätze

  • Stylesheet in SVG einbinden:Link zu einem externen Stylesheet von innen die SVG-Datei mit der Verarbeitungsanweisung ?xml-stylesheet oder einem Element im Abschnitt.
  • JQuery-SVG-Plugin verwenden:Verwenden Sie das jQuery-SVG-Plugin, um JavaScript- und CSS-Stile auf eingebettete SVGs anzuwenden.

Direktes CSS Ausrichtung

Wenn die eingebettete SVG-Datei in einer separaten Datei gespeichert wird, können Sie CSS-Stile definieren, die auf Folgendes abzielen Element selbst, wie zum Beispiel:

object[data="my-embedded-svg.svg"] {
  fill: #fff;
}
Nach dem Login kopieren

Dieser Ansatz wendet keine Stile auf das SVG selbst an, kann aber nützlich sein, um das Gesamterscheinungsbild des eingebetteten Elements anzupassen.

Das obige ist der detaillierte Inhalt vonWie kann ich eingebettete SVGs mit dem „'-Tag formatieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage