fog*_*ogy 6 svg stretch viewbox
我试图在DOM中拉伸svg文档以适应窗口大小.
像这样:
<div id="y">
<div id="button"> click to zoom</div>
<embed id="x" src="s17.svg" >
<script>
var btn= document.getElementById("button");
btn.addEventListener('click',function(){
var z= document.getElementsByTagName("embed")[0];
var y = z.getSVGDocument();
y.lastChild.setAttribute("viewBox","0 0 "+window.innerWidth+" "+window.innerHeight);
},false);
</script>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#x{
height:100%;
width:100%;
overflow:hidden;
}
#y{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
overflow:hidden;
}
Run Code Online (Sandbox Code Playgroud)
这不行......我做错了什么?
所有浏览器都应该能够处理这个问题:
preserveAspectRatio="none"即使css-viewport纵横比与viewBox纵横比不匹配,也要向svg元素添加一个属性以使其伸展.如果您不想拉伸,那么您也可以preserveAspectRatio="xMidYMid slice"(填充整个视口,必要时切掉部分)或preserveAspectRatio="xMidYMid meet"(这是默认值,将svg置于视口中心并保持纵横比).