Ich muss einen Icon-Pfad positionieren, den ich irgendwo im Internet gefunden habe (bald durch meinen eigenen ersetzt werden). Mein erster Versuch mit <symbol>
in Verbindung mit <use>
gibt mir nicht, was ich trotz nennenswertem Basteln will (das Symbol wird nicht in das Quadrat im Beispiel unten kommen). Dann fand ich, dass die Verwendung von <g>
anstelle von <symbol>
den Trick macht, aber auf Kosten der manuellen Skalierung des Pfades selbst. Da die automatische Skalierung angenehmer ist, sollte es möglich sein, mit <symbol>
genau zu positionieren.Position von <use> svg Pfad
Die W3 specs erwähnen das unterschiedliche Verhalten von <use>
in Abhängigkeit davon, ob die Referenz <symbol>
, <svg>
oder auf andere Weise, aber das fliegt direkt über meinen Kopf.
<!DOCTYPE html>
<title>Icon won't get in box</title>
<body>
<svg>
<defs>
<symbol id="backward" viewBox="0 0 477.175 477.175"><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225 c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"></path></symbol>
<g id='back2' transform='scale(.062)'>
<path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225 c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"></path>
</g>
</defs>
<g transform='translate(50,50)'>
<rect height='30' width='30' fill='#DDD' />
<use xlink:href='#backward' height='30' x='0' y='0' />
</g>
<g transform='translate(50, 100)'>
<rect height='30' width='30' fill='#DDD' />
<use xlink:href='#back2' x='0' y='0' />
</g>
</svg>
</body>
ich dachte ich, das als Platzhalter für andere Dinge während der Arbeit verwenden würde. Außerdem könnte mein eigener SVG-Pfad das gleiche Problem haben. Ich weiß auch nicht, wie man "aufräumt", und außerdem glaubst du wirklich, dass mein Problem damit zu tun hat, was in der "" steckt? (Ich bezweifle es, da der Pfad mit meiner zweiten Methode funktioniert.) –
bongbang