So verwenden Sie SVG-Symbole in WeChat-Applets

So verwenden Sie SVG-Symbole in WeChat-Applets

SVG wurde in den letzten Jahren aufgrund seiner verschiedenen Vorteile häufig verwendet. Leider unterstützen WeChat Mini-Programme die Verwendung von SVG in Form von XML bisher nicht, was die Flexibilität von SVG erheblich einschränkt. Die meisten Leute verzichten auf die Verwendung von SVG-Symbollösungen in WeChat Mini-Programmen.
Gibt es also wirklich keine Möglichkeit, SVG-Symbole problemlos in WeChat-Applets zu verwenden? Lassen Sie uns zunächst analysieren, welche Anforderungen wir für die Verwendung von SVG-Symbolen haben:

  • Kann zur Verwendung eingeführt werden
  • Möglichkeit zur Farbanpassung

Zunächst einmal gibt es mit dem ersten Punkt kein Problem. Das WeChat-Applet unterstützt die Einführung von SVG in Form von Image.src. Der nächste Teil ist der Kernteil dieses Artikels: Wie man SVG im Bildformat dazu bringt, die Farbe zu ändern.

Bei meiner jüngsten CSS-Studie habe ich festgestellt, dass es eine Eigenschaft gibt, die einen Schatten auf den nicht transparenten Teil des DOM werfen kann. Diese Eigenschaft heißt „Drop-Shadow“ und ihr Wert ähnelt in etwa dem von „Box-Shadow“. Mit diesem Attribut können wir einen Schatten mit einer veränderbaren Farbe für das SVG-Bild werfen und dann den Originalteil ausblenden, um ein SVG-Symbol mit veränderbarer Farbe zu realisieren.

Als nächstes üben wir es. Konstruieren Sie zunächst die DOM-Struktur:

<Ansichtsklasse="svg_icon">
 <image class="svg_icon-inner" src="/Pfad/icon.svg"/>
</Ansicht>

Fügen Sie als Nächstes das CSS hinzu:

.svg_icon {
 Anzeige: Inline-Flex;
 Breite: 1em;
 Höhe: 1em;
 Überlauf: versteckt;
}

.svg_icon-inner {
 Breite: 1em;
 Höhe: 1em;
 transformieren: übersetzenY(-1em);
 Filter: Schlagschatten (0 1em 0 aktuelle Farbe);
}

Lassen Sie mich erklären, warum die DOM-Struktur und CSS folgendermaßen eingerichtet sind: Erstens ist svg_icon der Container des gesamten Symbols, der für die Einstellung der Symbolgröße (1em = Schriftgröße des übergeordneten Containers) und das Ausblenden des überschüssigen Teils (d. h. des ursprünglichen Teils des Symbols) verantwortlich ist, während svg_icon-inner für das Rendern von SVG und das Werfen farbiger Schatten verantwortlich ist. Indem svg_icon-inner auf dieselbe Breite und Höhe wie der übergeordnete Container eingestellt und ein Versatz in die entgegengesetzte Richtung der Projektion festgelegt wird, kann die erforderliche Änderung der SVG-Farbe erreicht werden (wenn die Projektionsfarbe auf currentColor eingestellt wird, kann die Symbolfarbe mit der Schriftfarbe des übergeordneten Containers geändert werden).

Diese Lösung hat einen Nachteil. Wenn auf der Seite eine Transformationsanimation vorhanden ist und diese ausgelöst wird, flackert das Symbol. Ich bin mir über den genauen Grund nicht sicher. Ich hoffe, jemand kann mir einen Rat geben.

Damit ist dieser Artikel über die Verwendung von SVG-Symbolen in WeChat-Miniprogrammen abgeschlossen. Weitere Informationen zur Verwendung von SVG-Symbolen in WeChat-Miniprogrammen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So führen Sie SVG-Vektorsymbole in das WeChat-Applet ein
  • Heute unterstützen Miniprogramme offiziell SVG
  • Die Store-Bewertungskomponente im WeChat-Applet und die mit SVG in Vue implementierte Bewertungsanzeigekomponente
  • Detaillierte Erklärung zur Verwendung von SVG-Vektorsymbolen im WeChat-Applet

<<:  Erfahrungsaustausch zur Reparatur von MySQL InnoDB-Ausnahmen

>>:  Methoden zur Optimierung von Oracle-Datenbanken mit großen Speicherseiten unter Linux

Artikel empfehlen

Detaillierte Erklärung des Integer-Datentyps tinyint in MySQL

Inhaltsverzeichnis 1.1Tinyint-Typbeschreibung 1.2...

Eine kurze Erläuterung der $notify-Punkte des Elements

Meine ursprüngliche Absicht war, die $notify-Bena...

Detaillierte Erklärung der Anzeigemodi in CSS-Tags

Beschriftungsanzeigemodus (wichtig) Div- und Span...

So wenden Sie TypeScript-Klassen in Vue-Projekten an

Inhaltsverzeichnis 1. Einleitung 2. Verwendung 1....

React implementiert Import und Export von Excel-Dateien

Inhaltsverzeichnis Präsentationsschicht Geschäfts...

Nach dem Absenden des Formulars zu einer anderen Datei wechseln

<br />Frage: Wie schreibe ich in HTML, um zu...

Verwenden Sie Vue3 zur Datenbindung und Anzeigelistendaten

Inhaltsverzeichnis 1. Vergleich mit Vue2 1. Neue ...

Implementierung der virtuellen React-Liste

Inhaltsverzeichnis 1. Hintergrund 2. Was ist eine...

Implementierung einer benutzerdefinierten Vue-Vorlage von vscode

Verwenden Sie den Vscode-Editor, um eine Vue-Vorl...

Optimierung der MySQL 4G-Speicherserverkonfiguration

Da die Anzahl der Besuche auf der Website des Unt...

So installieren Sie Theano und Keras auf einem Ubuntu-System

Hinweis: Das System ist Ubuntu 14.04LTS, ein 32-B...