我有一个div
包含svg
图形(一堆圆圈和边)的元素,我还在元素上设置viewBox
了属性svg
。图中节点和边的坐标是针对指定的屏幕尺寸(因此也是指定的div
尺寸)硬编码在px
. 使用所需的div
大小,图形可以很好地加载,并且在调整浏览器窗口大小时也可以放大和缩小。
div
但是,每当在不同的屏幕/尺寸下加载页面时,我的问题就会出现,因为之前svg
指定div
尺寸的图像保持不变。这会创建一个对于较小的浏览器/屏幕尺寸来说太大的图像。
我为元素设置了以下svg
内容:
<svg id="mygraph" preserveAspectRatio="xMidYMid meet">
并在元素viewBox
之后立即使用 Javascript设置其属性:div
<script type="text/javascript">
document.getElementById("mygraph").setAttribute("viewBox", "0 0 " + $("#graphdiv").width() + " " + $("#graphdiv").height());
</script>
这不能解决问题。那我还能尝试什么?