2016-09-22 85 views
2

我正在研究SVG,到目前为止一切正常,除了一个问题。SVG移动方向更改

通常,如果根元素没有宽度/高度属性,则SVG将缩放以填充视口。

但是在手机上,我注意到改变方向打破了这个功能。从纵向旋转到横向时,原始屏幕宽度将变为视口的宽度,并且SVG将从底部移开。旋转后退给出了相反的问题,导致了一个非常小的SVG。

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

如何在屏幕方向更改时强制SVG比例重新正确计算?

+0

我假设“在手机上”并不意味着每个操作系统上的每个浏览器:)您使用的是哪种浏览器/操作系统组合? –

+0

@PaulLeBeau啊,好点。我在安卓版Chrome上遇到了这个问题(HTC10手机) –

回答

1

该问题已通过强制重绘得到解决。这可以通过执行任何导致SVG以某种方式改变的操作来完成,即使该“改变”是无操作的。

在这种情况下...

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

...工作就好了。