2016-09-22 117 views
2

我正在研究SVG,到目前爲止一切正常,除了一個問題。SVG移動方向更改

通常,如果根元素沒有寬度/高度屬性,則SVG將縮放以填充視口。

但是在手機上,我注意到改變方向打破了這個功能。從縱向旋轉到橫向時,原始屏幕寬度將變爲視口的寬度,並且SVG將從底部移開。旋轉後退給出了相反的問題,導致了一個非常小的SVG。

在調整瀏覽器窗口大小時,桌面上不會發生這種情況--SVG正確調整其縮放比例以填充可用空間。

如何在屏幕方向更改時強制SVG比例重新正確計算?

+0

我假設「在手機上」並不意味着每個操作系統上的每個瀏覽器:)您使用的是哪種瀏覽器/操作系統組合? –

+0

@PaulLeBeau啊,好點。我在安卓版Chrome上遇到了這個問題(HTC10手機) –

回答

1

該問題已通過強制重繪得到解決。這可以通過執行任何導致SVG以某種方式改變的操作來完成,即使該「改變」是無操作的。

在這種情況下...

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

...工作就好了。