So verwenden Sie die Text- und ForeignObject-Elemente zum Beschriften von Schriftarten in SVG
Veröffentlicht: 2022-12-04Wenn es um die Arbeit mit Text in Scalable Vector Graphics (SVG) geht, stehen Ihnen einige verschiedene Optionen zur Verfügung. Ein Ansatz besteht darin, die integrierten Textfunktionen von SVG zu verwenden, um Text direkt in Ihre SVG-Formen zu zeichnen. Dieser Ansatz ist für einfache Textbeschriftungen in Ordnung, aber wenn Sie etwas Komplexeres tun müssen, z. B. Textumbruch oder Einfügen von Hyperlinks, müssen Sie einen anderen Ansatz verwenden. Ein beliebter Ansatz besteht darin, das Element in Verbindung mit dem ForeignObject>-Element zu verwenden. Mit dem ForeignObject>-Element können Sie HTML-Elemente in Ihr SVG einfügen, was Ihnen viel mehr Flexibilität in Bezug darauf gibt, was Sie in Ihre Labels aufnehmen können. Dieser Ansatz hat auch den Vorteil, dass Sie Standard-CSS verwenden können, um Ihre Etiketten zu gestalten, was eine große Zeitersparnis sein kann. In diesem Artikel werfen wir einen Blick darauf, wie die Elemente und ForeignObject> verwendet werden, um Schriftarten in SVG zu beschriften. Wir sehen uns auch an, wie Sie Ihre Labels mit CSS gestalten und wie Sie Ihre Labels zugänglicher machen, indem Sie ARIA-Labels hinzufügen.
Wie bette ich Schriftarten in SVG ein?
Um Schriftarten in eine SVG-Datei einzubetten, müssen Sie zunächst die @font-face-Regel in der SVG-Datei definieren. Anschließend können Sie die Schriftart innerhalb der SVG-Datei verwenden, indem Sie die Eigenschaft font-family verwenden.
Unser Corporate Branding enthält eine Schriftart namens Metropole, aber SVG-Dateien sind in Inhalten erforderlich, auf die externe Benutzer zugreifen (die keinen Zugriff auf diese Dateien haben). Es gibt eine Möglichkeit, die Corporate-Fonts-Datei zu speichern. Times New Roman ist die Standardschriftart im Browser. Es ist nicht möglich, die Schriftart in Inkscape einzufügen. In jedem Fall benötigen Sie einen zweiten Rechner, um die Schriftart zu installieren. Wenn Sie einen Browser verwenden oder ihm ein <img>-Tag hinzugefügt haben, können Sie die Leistung der SVG-Datei überprüfen. Es gibt auch mehrere andere Methoden, um dieses Programm durchzuführen.
Sie können das Format aus den beiden Originaldateien kopieren, die ich hier gepostet habe. Es ist im Wesentlichen dasselbe, wie der Name schon sagt: Sie arbeiten mit einem System, auf dem die Schriftarten installiert sind. Die Schriftfamilie sowie der Linienstil für das svg-Element müssen angegeben werden.
Können Sie Text in ein SVG einfügen?
Wenn Sie das Element text> verwenden, können Sie ein Grafikelement mit Text als Quelle erstellen. Jede Art von Verlauf, Muster, Beschneidungspfad, Maske oder Filter, die Sie für Text verwenden, kann wie jede andere Art von SVG-Grafikelement angewendet werden. Das Element, das Text in SVG enthält, erscheint nicht in einem text>-Element.
Das Beste aus beiden Welten ist die Verwendung von SVG-Text . Es hat das gleiche Erscheinungsbild wie andere grafische Elemente, sodass Sie Striche hinzufügen und Leerzeichen mit Ihrem bevorzugten Strich und Füllen füllen können. Es ist möglich, es auszuwählen, zu kopieren und an einer anderen Stelle einzufügen. Screenreader können den Text lesen und Suchmaschinen können ihn finden. Ein (0,0)-Punkt befindet sich normalerweise in der unteren linken Ecke der Box, obwohl er häufiger am linken Rand zu finden ist. Um eine bestimmte Anzahl von Koordinaten pro em zu erzeugen, sollte die EM-Box in mehrere em unterteilt werden. Diese Nummer ist ein typisches Merkmal der Schriftart, die in der Zeichentabelle aufgeführt ist.
Der Text wird genauso gerendert wie andere SVG-Elemente . Füllen Sie es aus, streichen Sie es und verwenden Sie sogar Text aus mehreren Elementen wieder. In diesem Beispiel habe ich ein *.text*-Element innerhalb der Tags erstellt. Es wurden X- und Y-Attribute hinzugefügt, die die Position des Ansichtsfensters für den Text definieren. Die Positionierung dieses Elements ist einzigartig, da Sie damit Ihren gesamten Text verschieben können. Wir gehen einige der Dinge durch, die Sie tun können, um die Anzeige zu verbessern. Vielen Dank, dass Sie sich die Zeit genommen haben, einige Informationen zu Glyphen und Schriftarten zu lesen. Nichtsdestotrotz ist es von Vorteil, eine solide Grundlage zu haben, die uns hilft, sie später zu verstehen.
Mit diesen Elementen können wir Text in ein Rechteck schreiben, das mit den SVG-Elementen rect> und text> erstellt wurde. Dies ist ein ausgezeichnetes Werkzeug zum Erstellen von Etiketten und anderen textbasierten Grafiken. Um eine textbasierte SVG-Grafik zu erstellen, müssen wir zunächst ein Rechteck und ein Textelement erstellen. Weitere Informationen zum Zeichnen von Rechtecken und zum Zeichnen von Text finden Sie in den Themen Rechtecke zeichnen und Text zeichnen. Sobald wir diese eingerichtet haben, können wir mit dem Schreiben unseres Textes beginnen.
Wie füge ich Text in einen SVG-Pfad ein?
Es gibt ein paar Möglichkeiten, dies zu tun, aber die gebräuchlichste ist die Verwendung des Textelements. Mit den x- und y-Attributen können Sie das Textelement positionieren. Um den Text dann auf einer Kurve zu platzieren, können Sie das textPath-Element verwenden. Das TextPath-Element benötigt einen Verweis auf ein Pfadelement. Sie können dann das Attribut startOffset verwenden, um zu steuern, wo auf dem Pfad der Text beginnt.
Text in SVG kann beliebig angeordnet werden. Text kann jetzt auf verschiedene Arten angezeigt werden. Das Erstellen eines Elements mit einem Pfad folgt einem Pfad, der ein definiertes Element und innerhalb von defs-Tags definiert, ist einfach. Im ersten Beispiel unten habe ich die Textpfad-ID verwendet, um einen linearen Pfad zu erstellen. Sie können das Attribut startOffset so einstellen, dass der Anfang des Pfads an der anfänglichen Textposition versetzt wird. Sie können eine Länge in Prozent sowie als Zahl definieren. Die Zahl repräsentiert einen Abstand zwischen dem aktuellen Koordinatensystem und dem von letzterem gemessenen Abstand.
Sie können es sogar auf die gleiche Weise tun, wenn Sie startOffset nicht verwenden. Der Wert x wird verwendet, um anzugeben, wo der Text parallel und senkrecht zum Pfad ist. Das Erstellen des Pfads ist der schwierigste Schritt, aber das Hinzufügen des Textes ist der einfachste. Das Beste, was Sie tun können, wenn Sie mit der Arbeit mit SVG-Pfaden vertraut sind , ist, eine gute Zeit zu haben. Nächste Woche gehe ich die verbleibenden Attribute durch und zeige Ihnen schließlich einen gekrümmten Pfad.
SVG-Text-Schriftart
Die SVG-Textschriftart ist eine einfache, saubere und stilvolle Schriftart, die sich perfekt für jede Website oder jedes Dokument eignet. Die SVG-Textschrift ist außerdem gut lesbar und eignet sich perfekt für alle Dokumente, die schnell gelesen werden müssen.
Es wurde erstmals 1999 eingeführt, um Designern die Möglichkeit zu geben, Grafiken mit beliebigen Schriftarten zu erstellen und sie im Browser korrekt anzuzeigen. 18 Jahre später, wie ist die Unterstützung für Schriftarten in SVGs und was ist die beste Vorgehensweise, damit Schriftarten darin richtig funktionieren? Die Verwendung websicherer Schriftarten stellt sicher, dass in SVG verwendete Schriftarten in den meisten gängigen Systemen angezeigt werden. Websichere Schriftarten können von jedem heruntergeladen und verwendet werden und werden von allen Plattformen und Systemen gemeinsam genutzt. Dank der wachsenden Zahl von Dienstanbietern wie Google Fonts, Font Squirrel usw. können Sie jetzt Webfonts in SVGs verwenden.
Die Vorteile von Schriftarten in Svg
Dies sind nur Scalable Vector Graphics (SVG) Schriftarten. Anstatt eine separate Schriftartdatei herunterzuladen und sie dann in Ihre Scalable Vector Graphics (SVG)-Datei einzubetten, können Sie daher selbst eine Scalable Vector Graphics (SVG)-Schriftart erstellen. Da SVG-Schriftarten auf jeder Plattform verwendet werden können, die sie unterstützt, einschließlich Desktop-Computern, Mobiltelefonen und sogar Vektorzeichenanwendungen wie Inkscape, können sie auf praktisch jeder Plattform verwendet werden. Trotz der Tatsache, dass sich Schriftarten in SVG noch in einem frühen Entwicklungsstadium befinden, gibt es einige Besonderheiten, die sie vom Rest des Pakets abheben. Wenn Sie eine SVG-Schriftart verwenden, können Sie aus einer Vielzahl von Farben, Farbverläufen oder Mustern wählen, die tatsächlich in die Zeichen eingebettet sind. Aus diesem Grund können SVG-Schriftarten verwendet werden, um komplexe, anspruchsvolle Designs zu erstellen, die mit herkömmlichen Schriftartdateien nicht zu erreichen wären. Wenn Sie reichhaltige und strukturierte SVG-Designs erstellen möchten, sollten Sie die Verwendung von Schriftarten in sva in Betracht ziehen.
SVG-Textattribute
Mit SVG-Textattributen können Sie das Erscheinungsbild von Text in Ihrem SVG-Dokument steuern. Sie können die folgenden Attribute für Elemente festlegen: Ausrichtung-Grundlinie, Grundlinien-Verschiebung, Clip, Clip-Pfad, Farbe, Cursor, Richtung, Anzeige, Dominante-Grundlinie, Füllung, Füllungs-Opazität, Schriftart, Schriftfamilie, Schriftgröße , Schriftgrößenanpassung, Schriftdehnung, Schriftstil, Schriftvariante, Schriftstärke, Buchstabenabstand, Deckkraft, Überlauf, Zeigerereignisse, Formwiedergabe, Strich, Strich-Dasharray, Strich-Dashoffset, Strich -Linecap, Stroke-Linejoin, Stroke-Miterlimit, Stroke-Opacity, Stroke-Breite, Text-Align, Text-Anchor, Text-Decoration, Text-Rendering, Unicode-Bidi, Visibility, Word-Spacing, x, y.
Was sind SVG-Attribute?
Elementattribute können verwendet werden, um anzugeben, wie ein SVG-Element abhängig von seinem Kontext behandelt oder gerendert werden soll. Hier finden Sie eine Liste aller verfügbaren Attribute in SVG sowie Links zu Referenzdokumentationen, damit Sie erfahren, welche welche Elemente unterstützen und wie sie funktionieren.
SVG-Schriftfamilie funktioniert nicht
Wenn Sie Probleme haben, Ihre svg-Schriftfamilie zum Laufen zu bringen, gibt es ein paar Dinge, die Sie überprüfen können. Stellen Sie sicher, dass Sie den richtigen Schriftfamiliennamen verwenden und dass die Schrift auf Ihrem System installiert ist. Wenn Sie immer noch Probleme haben, versuchen Sie es mit einem anderen Namen der Schriftfamilie.
SVG-Bilder: Wie man sie in Webseiten und Drucklayouts verwendet
Im Gegensatz zu JPG-Bildern, die auf Webseiten verwendet werden können. SVG-Bilder können in Drucklayouts verwendet werden. Wenn Sie SVG-Bilder auf Webseiten verwenden möchten, müssen Sie eine sva-Datei einbinden. Um SVG-Bilder in Drucklayouts zu verwenden, benötigen Sie eine Schriftart, die sie unterstützt. Sie können SVG-Bilder in jedem Webbrowser verwenden, der die von bereitgestellten Schriftarten unterstützt. Obwohl Sie Ihre SVG-Bilder möglicherweise nicht richtig sehen können, wenn Sie einen Browser verwenden, der sie nicht unterstützt, sollten sie dennoch sichtbar sein. In diesem Fall können Sie versuchen, websichere Schriftarten oder Google-Webschriftarten zu verwenden. Da die meisten Browser diese Schriftarten unterstützen, sollten Ihre SVA-Bilder normalerweise richtig wiedergegeben werden.
SVG-Textfarbe CSS
Die Farbe eines SVG-Textelements kann mit der Eigenschaft „fill“ in CSS festgelegt werden. Standardmäßig wird die Farbe vom übergeordneten Element geerbt.
In CodePen schreiben Sie alles, was Sie brauchen, im Kontext des HTML-Editors, einschließlich des Kopfs und der Tags innerhalb einer einfachen HTML5-Vorlage. CSS kann von jedem Stylesheet im Internet auf Ihren Stift angewendet werden. Ein Anbieterpräfix wird üblicherweise auf Eigenschaften und Werte angewendet, die funktionsfähig sein müssen. Ihr Stift kann durch ein Skript gesteuert werden, das von überall im Internet erstellt werden kann. Wenn Sie ihm eine URL hinzufügen, fügen wir sie in der Reihenfolge ein, in der Sie sie zuerst haben, vor dem JavaScript im Stift. Vor der Bewerbung werden wir versuchen, ein Skript zu verarbeiten, das eine Präprozessor-Dateierweiterung enthält.
So ändern Sie die Farbe von SVG-Elementen mit CSS
Die Farbe des Inhalts innerhalb des SVG-Tags wird festgelegt, wenn fill="currentColor" zum SVG-Tag hinzugefügt wird. CSS kann verwendet werden, um die Farbe später zu ändern, wenn Sie dieses Schlüsselwort haben (anstelle einer festen Farbe). Die globale Farbeigenschaft kann verwendet werden, um eine Standardfarbe für alle Elemente in der SVG-Datei festzulegen.
So fügen Sie Text im SVG-Pfad hinzu
Um SVG-Text zu erstellen, der einem Pfad folgt, können Sie ein *textPath>-Element mit einem Pfad verwenden, den Sie in den defs-Tags definieren. Auf den Pfad kann mithilfe eines xlink:href-Attributs im „textPath“-Abschnitt des *textPath-Labels verwiesen werden. Sie werden feststellen, dass es in SVG 2.0 keinen xlink gibt: stattdessen wird der Pfad als href bezeichnet.
Svg-Textumbruch
SVG-Textumbruch ist eine Funktion des Scalable Vector Graphics (SVG)-Formats, mit der Text um eine Grafik gewickelt werden kann. Dies kann nützlich sein, um textbasierte Logos zu erstellen oder Bildunterschriften hinzuzufügen. Die Textumbruchfunktion wird von allen gängigen Browsern unterstützt.
Einfach ausgedrückt, alles, was Sie im HTML-Editor schreiben, wird im HTML5-Text einer einfachen HTML5-Vorlage gespeichert. CSS kann von jedem Stylesheet im Internet auf Ihren Stift angewendet werden. Wenn Sie die beste browserübergreifende Unterstützung wünschen, sollten Sie Herstellerpräfixe für Eigenschaften und Werte verwenden. Sie können ein Skript erstellen, das Sie überall im Internet mit Ihrem Stift verwenden können. Wenn Sie hier eine URL eingeben, wird sie in der Reihenfolge hinzugefügt, in der die anderen Dateien, in denen Sie sie haben, im JavaScript im Stift platziert werden. Wir werden versuchen, die Dateierweiterung des von Ihnen verlinkten Skripts zu verarbeiten, um es vor der Bewerbung zu verarbeiten.
SVG-Text hat keine Breite und Höhe
Warum dosvg eine Breite haben? Wenn ein SVA-Text erstellt wird, gibt es keine Möglichkeit, seine Breite oder Höhe anzugeben.
SVG-Textgröße
Auf diese Frage gibt es keine endgültige Antwort, da sie weitgehend vom gewünschten Aussehen und Verhalten der jeweiligen SVG-Datei abhängt. Im Allgemeinen wird jedoch empfohlen, relative Schriftgrößen (zB em-Einheiten) zu verwenden, um sicherzustellen, dass der Text angemessen skaliert wird, wenn die Größe der SVG-Datei geändert wird.