Ein SVG wird dazu gebracht, sein Seitenverhältnis in einer HTML-Seite beizubehalten

8

Ich habe HTML wie das unten. Ich erstelle ein SVG mit einer Viewbox von 100x100. Wenn gerendert (in Chrome) Die SVG rendert sich selbst als 200px weit (gut) aber ~ 500px hoch und der Text wird vom unteren Rand der Seite geschoben. Das Vergrößern oder Verkleinern meines Fensters hat keinen Einfluss - der SVG wächst oder verkleinert sich entsprechend in der Höhe.

Warum ist der Svg in keiner Weise in der Höhe eingeschränkt? Gibt es eine Möglichkeit, das Seitenverhältnis 1: 1 automatisch beizubehalten? Der Inhalt innerhalb des SVG ist in Ordnung - er skaliert entsprechend. Dies verursacht einige große Kopfschmerzen

%Vor%     
dave mankoff 28.09.2012, 18:00
quelle

2 Antworten

2

Sie haben prserveApsectRatio hier eingestellt, aber ich sehe keine Höhe auf Ihrem div. Stellt dies ein Problem dar? Wenn Sie sich die Svg-Dokumentation ansehen, werden Svg-Elemente standardmäßig auf 100% Breite und Höhe eingestellt . Versuchen Sie, seine Höhe und Breite explizit als Pixelwerte festzulegen und sehen Sie, ob das hilft.

    
dudewad 28.09.2012, 18:06
quelle
0

Fügen Sie die SVG in ein <img> -Tag ein: <img src="path_to_svg" />

Formatieren Sie das Bild: {width: 100%; Höhe: Auto;}

Das Einstellen der Höhe auf auto ist das Geheimnis. So ist selbst das preserveAspectRatio-Attribut optional. (Wenn Sie es in ein Tabellenlayout einfügen, wird die Kompatibilität mit Internet Explorer beeinträchtigt.)

    
Sfou 22.03.2015 20:51
quelle

Tags und Links