Ich versuche, ein SVG-Sprite-Blatt mit der hier beschriebenen "Symbol" -Methode zu verwenden.Höhe: Auto auf SVG funktioniert nicht
http://css-tricks.com/svg-sprites-use-better-icon-fonts/
Mein HTML ist sehr einfach.
<svg><use xlink:href="/images/iconSprite.svg#camera"/></svg>
Und hier ist ein Beispiel Symbol aus der SVG-Datei
<symbol viewBox="0 0 24 24" id="clock"><g transform="translate(0 -1028.4)"><path d="M22.085 1035.955a10.997 10.997-23.5 1 1-20.17 8.77 10.997 10.997-23.5 1 1 20.17-8.77z" fill="#1abc9c"/><path d="M21 1040.335a9 9 0 1 1-18 0 9 9 0 1 1 18 0z" fill="#ecf0f1"/><path d="M1.034 1039.8c-.083 1.7.176 3.3.875 4.9 2.42 5.6 8.898 8.2 14.468 5.8 4.29-1.9 6.778-6.2 6.593-10.6-.202 4-2.63 7.8-6.592 9.6-5.57 2.4-12.047-.2-14.47-5.8-.556-1.2-.82-2.6-.874-3.9z" fill="#16a085"/><path d="M20 1040.4c0 .5-.448 1-1 1h-6v-2h6c.552 0 1 .4 1 1z" fill="#3498db"/><path d="M12 1033.4c-.552 0-1 .448-1 1v5h2v-5c0-.552-.448-1-1-1z" fill="#2c3e50"/><path fill="#c0392b" d="M6.017 1045.705l4.95-4.95.707.707-4.95 4.95z"/><path d="M12 1038.4c-1.105 0-2 .9-2 2s.895 2 2 2 2-.9 2-2-.895-2-2-2zm0 1c.552 0 1 .4 1 1 0 .5-.448 1-1 1s-1-.5-1-1c0-.6.448-1 1-1z" fill="#34495e"/></g></symbol>
Das Problem, das ich habe ist, dass wenn ich CSS die Breite des SVG Elements zur Einstellung der Höhe der SVG 64px wird automatisch auf 150 Pixel gesetzt. Ich habe versucht, Höhe einzustellen: auto; und Höhe: 100%; auf dem SVG-Element, aber es macht keinen Unterschied. Der einzige Weg, um es zum Laufen zu bringen, ist die Höhe: 64px; was ich nicht machen möchte, weil das Seitenverhältnis meiner Icons nicht immer quadratisch sein kann. Ich möchte, dass das SVG automatisch in seinem ursprünglichen Seitenverhältnis skaliert wird, so dass ein 4: 3-Icon (wie in der Viewbox definiert) automatisch eine Höhe von 300 Pixeln erreichen würde, wenn ich die Breite auf 400 px einstellen würde.
Ich habe mehrere Anleitungen zur Skalierung von SVG und Erhaltung des Seitenverhältnisses gelesen und einige haben Lösungen, wenn Sie ein IMG-Element verwenden, aber ich kann kein für Inline SVGS oder ein externes SVG mit USE finden.
Jeder weiß eine Lösung, die in allen Browsern einschließlich IE9 + und Android 4.0 + funktioniert?