我是SVG的新手,我在解决此问题时遇到了问题:
我试图创建一个点系统,围绕单个轴旋转,就像太阳系一样。 中心点是一个圆形div,在CSS calc函数的帮助下放置在视口的中心:
left: calc(50% - myDivWidth/2);
top: calc(50% - myDivHeight/2);
我使用" cx"将SVG圈子放在这个中心点附近。和" cy"属性和一切正常。
问题在于:当我调整窗口大小时,div会自动移动到屏幕中央。但是我的SVG圆圈没有移动,因为坐标系不会伸展到视口的新大小。现在,如果我在调整大小后重新加载页面,则所有内容都会再次正确放置。
我想我可以在调整大小时重新计算圆圈的坐标,但是它有点重吗? 我的所有圈子都放在一个高度和宽度均为100%的svg标签中。
我希望你能帮助我!谢谢!
答案 0 :(得分:1)
如果您向SVG添加viewBox
属性,它将自动缩放以适合其父视口(<div class="univers">
)。
<svg width="100%" height="100%" viewBox="-315 -315 630 630">
使用此viewBox,您可以使用(0,0)作为轨道圆的原点。