how to resize a large svg to fit inside a div

naheed picture naheed · Jan 14, 2014 · Viewed 26.8k times · Source

I have the following div inside <body>.

<div style="width:320px; height:480px;">
    <svg id="svg1"></svg>            
</div>

I want to fit a 640X480 svg inside this div. I have tried this:

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

But the svg is cut off from the right size.

Answer

Ian picture Ian · Jan 14, 2014

I was wondering about adjusting the viewBox for this, so something like...

<div style="width:320px; height:480px;">
    <svg id="svg1" width="100%" height="100%" viewBox="0 0 640 480" preserveAspectRatio="xMaxYMax"></svg>
</div>

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