我正在尝试缩放一个嵌入的 SVG,它包含在一个宽度为 100px 的 div 中,并且这个 SVG 是通过-webkit-transform: scale(2)
在该 div 上应用来缩放的。在桌面上,在 Chrome 和 Safari 中,SVG 被正确地缩放到其原始大小的两倍(即 200 像素)。但是,在 iPad(Mobile Safari)和 Android 默认浏览器上,SVG 被错误地缩放到其原始大小的四倍(即 400 像素)。
类似地,使用 scale(0.5),桌面浏览器可以正确地将 SVG 缩放到其原始大小的一半(即 50 像素),但上述移动浏览器会将 SVG 缩放到其原始大小的四分之一(即 25 像素)。
我试过设置视口(通过<meta name="viewport" content="...">
),但它没有纠正这种行为。同样,SVG 的viewbox
属性设置正确,不会影响它。
然而,特别值得注意的是,通过 、 和 标签嵌入 SVG 会<embed src=>
导致<iframe src=>
在<object data=>
移动设备上出现这种不需要的行为,但<img src=>
在移动设备上可以完美缩放——但是,<img src=>
它会带来一系列问题,所以我想避免那。
有没有人经历过这样的事情?这是一个奇怪且可能是小众的问题,但我认为那里的某个人一定曾经遇到过这个问题。