【问题标题】:SVG with embed tag: Safari doesn't scale right带有嵌入标签的 SVG:Safari 无法正确缩放
【发布时间】:2012-07-21 16:12:35
【问题描述】:

我正在尝试使用嵌入的 html 标记将 svg 添加到我的“表格阅读器”中。它在 FF、Chrome 甚至 IE9 中都可以正常工作,但是当我在 Safari 中打开页面时,它没有缩放,并且出现滚动条。

这是我的测试环境:http://www.nie-wieder.net/br/BookReaderDemo/noten.html#page/1/mode/1up 只需在 safari 中打开它(版本 5.1.7,也许只在 mac 上?!刚刚有一个 mac),你就会明白我的意思。

所以,我的问题是:有没有办法让演示中的 svg 文件在 Safari 中正确缩放?

我在这里搜索了一下,没有找到这个特定问题,所以我希望你能帮助我:)

编辑:我不能使用 img,因为通过 img-tag 的 svg 不可编写脚本:(

【问题讨论】:

  • 我明白你的意思了...不错的应用程序,顺便说一句!

标签: javascript css html svg


【解决方案1】:

您为 svg 标签覆盖了浏览器的默认 CSS 规则。从 .svg 文件中的 svg 标签中删除 width=""height="" 或将 svg 嵌入为 img 而不是嵌入标签:

<img type='image/svg+xml' src="file.svg" style="width: 100%; height: 100%;" />

【讨论】:

  • 很抱歉在我的问题中没有提到这一点,现在我对其进行了编辑。我不能使用 img,因为我们想稍后使用 svg 文件编写脚本,并且无法通过 img-tag 进行 svg到。
  • 然后尝试从您的 svg 文件中删除宽度和高度或用您的脚本覆盖这些值
  • 感谢您的提示。这是我的结论:首先,我尝试将 width / height = 100% 添加到我的嵌入标签 -> 不起作用,无论如何 safari 都无法缩放。然后我尝试使用你的“img”-sn-p:就像一个魅力,但正如所说,它不是可编写脚本的。最后我使用了对象标签,它也不起作用。因此,我将等待更好的 safari 版本并在所有其他主要浏览器中使用 svg(或者至少将 safari 告诉我页面的 gtfo ;))无论如何,谢谢。
  • 打开您的 Web-Inspector,浏览您的元素到 svg 标签,然后简单地删除宽度和高度属性。我无法通过 JavaScript 访问该元素,否则我会编写一个小脚本。 (Safari 5.1.7)
  • 这是我得到的:nie-wieder.net/fail.png - 在这里看起来不正确(osx 10.6,safari 5.1.7)
猜你喜欢
  • 2013-02-06
  • 1970-01-01
  • 2017-04-06
  • 2014-10-06
  • 1970-01-01
  • 2018-06-22
  • 2019-05-18
  • 1970-01-01
  • 2020-04-01
相关资源
最近更新 更多