【发布时间】:2016-04-16 17:32:58
【问题描述】:
我有这个 SVG,通过使用 viewBox 属性,我可以在其中移动并查看它的每个部分。
您在上图中看到的黄色框是一个恒定的 400x400 SVG,它的宽度和高度没有变化。
<svg xmlns="http://www.w3.org/2000/svg" viewBox="17900 -4100 1050 1050" preserveAspectRatio="none" width="400" height="400">
当我垂直滚动时,Eveything 在框内移动,但 Internet Explorer(11) 的行为有所不同。
像这样:
尽管 SVG 高度和重量是 400x400,但 IE 并不关心并移出 SVG 容器! Internet Explorer 如何在 SVG 元素之外绘图?我该如何解决?
附:在这两个示例中,只有 viewBox 属性发生了变化。
编辑:https://jsfiddle.net/omidh/unjq6h0c/
Chrome 和 Firefox 在 SVG 元素内绘制所有形状,但 Internet Explorer 不会。
【问题讨论】:
-
viewBox怎么改?
-
@RobertLongson 通过在浏览器的元素检查器中简单地更改它,我添加了一个 jsfiddle,请尝试使用 IE 和其他浏览器来看看我在说什么。比如将viewBox="19250 2100 800 800"改为viewBox="19000 2100 800 800",即使不修改默认的viewBox属性,IE也可能将其绘制到元素外
-
我想知道 IE 元素检查器是否工作正常(它可能主要设计用于处理 html)。在不使用它的情况下进行测试可能会给您带来不同的结果。
-
@RobertLongson 我尝试使用 javascript 来更改 viewBox.baseVal,还是一样...。你在 Internet Explorer 中打开了我的 jsfiddle 吗?
-
你应该更新你的测试用例来显示这个。
标签: javascript css internet-explorer svg internet-explorer-11