如何调整大svg的大小以适应div

nah*_*eed 20 html javascript css svg snap.svg

我里面有以下div <body>.

<div style="width:320px; height:480px;">
    <svg id="svg1"></svg>            
</div>
Run Code Online (Sandbox Code Playgroud)

我想在这个div中安装一个640X480 svg.我试过这个:

var paper=Snap("#svg1");
Snap.load("somesvg.svg",function(f){ 
 paper.append(f);
 }); 
 paper.attr({ 
 width:320, height:480
 }) 
Run Code Online (Sandbox Code Playgroud)

但svg与正确尺寸相隔.

Ian*_*Ian 30

我想知道为此调整viewBox,所以像...

<div style="width:320px; height:480px;">
    <svg id="svg1" width="100%" height="100%" viewBox="0 0 640 480" preserveAspectRatio="xMaxYMax"></svg>
</div>
Run Code Online (Sandbox Code Playgroud)

jsfiddle http://jsfiddle.net/9zRR8/5/


Pau*_*eau 6

SVG不会缩放,因为它没有定义viewBox.viewBox告诉浏览器内容的尺寸是什么.没有它,就无法确定它应该按比例放大或缩小.

这是svg-edit的失败.理想情况下,它确实应该添加一个.

您可以尝试将SVG加载到Inkscape或其他应添加viewBox的SVG编辑器中.或者,您可以根据Ian的回答手动添加一个.