我正在尝试在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>
的CSS:
#x{
height:100%;
width:100%;
overflow:hidden;
}
#y{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
overflow:hidden;
}
这不起作用......我做错了什么?
答案 0 :(得分:9)
所有浏览器应该能够处理这个问题:
preserveAspectRatio="none"
以使其伸展,即使css-viewport纵横比与viewBox纵横比不匹配。如果您不想拉伸,那么您也可以preserveAspectRatio="xMidYMid slice"
(填充整个视口,必要时切掉部分)或preserveAspectRatio="xMidYMid meet"
(这是默认设置,将svg置于视口中心,保持纵横比。)
答案 1 :(得分:0)