Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SVG移动方向改变_Javascript_Android_Css_Svg - Fatal编程技术网

Javascript SVG移动方向改变

Javascript SVG移动方向改变,javascript,android,css,svg,Javascript,Android,Css,Svg,我正在开发一个SVG,到目前为止,除了一个问题,一切都很好 通常,在根元素上没有宽度/高度属性的情况下,SVG将缩放以填充视口 然而在手机上,我注意到改变方向会破坏这一功能。从纵向旋转到横向时,原始屏幕宽度成为视口的宽度,SVG远离底部。向后旋转会产生相反的问题,导致SVG非常小 调整浏览器窗口大小时,桌面上不会出现这种情况-SVG会正确调整其比例,以填充可用空间 当屏幕方向发生变化时,如何强制SVG比例正确重新计算?通过强制重画解决了该问题。这可以通过执行任何导致SVG以某种方式更改的操作来实

我正在开发一个SVG,到目前为止,除了一个问题,一切都很好

通常,在根元素上没有宽度/高度属性的情况下,SVG将缩放以填充视口

然而在手机上,我注意到改变方向会破坏这一功能。从纵向旋转到横向时,原始屏幕宽度成为视口的宽度,SVG远离底部。向后旋转会产生相反的问题,导致SVG非常小

调整浏览器窗口大小时,桌面上不会出现这种情况-SVG会正确调整其比例,以填充可用空间


当屏幕方向发生变化时,如何强制SVG比例正确重新计算?

通过强制重画解决了该问题。这可以通过执行任何导致SVG以某种方式更改的操作来实现,即使“更改”是不可操作的

在这种情况下

window.addEventListener('resize',function() {
    svg.setAttribute("x",0);
});

。。。很好。

我想“在手机上”并不是指每个操作系统上的每个浏览器:)你使用的是哪种浏览器/操作系统组合?@PaulLeBeau啊,说得对。我在Android上的Chrome(HTC10手机)上遇到过这个问题,我很好奇这是否仍然是最好的解决方案。对于由生成的svg绘图,我也面临同样的问题,希望避免手动强制重画