如果我对这些方法有点贬低,请原谅我。我从未遇到过必须使用它们的情况。曾经有一段时间,<object> 是使用 SVG 的唯一方法,但那些日子已经过去了。
<object>
查看 Chris Coyier 在 CodePen 上编写的 Pen AmEdC(@chriscoyier)。
过去之所以选择这种方式(而不是使用 <img>)的原因之一是 SVG 保留了交互性,例如悬停和动画。不过,在我写这篇文章的时候,浏览器开始让 SVG 作为图像也能实现这一点。
<img>
Chrome 38 中未显示嵌入和对象放置的 SVG,但在 Safari 8 中显示。
是否有任何备忘单或快速参考,说明哪些浏览器支持内联、嵌入、背景等方式下的动画、交互性等?
我不确定它是否完全符合你的需求,但请尝试 https://caniuse.cn/
是的,我也看到 Chrome 中 object/embed 不起作用。这很奇怪,因为我实在看不出 SVG 或代码有什么问题,而且我确信 Chrome 对它们的支持没问题。如果你下载该 Pen 的 .zip 文件并在本地打开它,它就可以工作。即使在 file:// URL 上也能工作,因此这不是跨域问题。也许是 CodePen 用户使用的沙盒 iframe 或我们使用的内容安全策略之类的东西导致的奇怪问题。
John 链接到的 Can I Use 的 “基本支持”部分 应该会参考 object/embed 支持
使用 embed 或 object 元素显示基本矢量图形功能的方法。指的是 SVG 1.1 规范。
嗨,我正在尝试这些方法,但我想让 SVG 放在 a href 中。我尝试了这三种方法,但当我将鼠标悬停在 SVG 上时,我设置的任何悬停效果都不会应用。对此有什么建议吗?
你的电子邮件地址不会被公开。 必填字段标有 *
评论 *
姓名 *
电子邮件 *
网站
下次我评论时,在此浏览器中保存我的姓名、电子邮件和网站。
复制并粘贴此代码: micuno *
请勿填写此字段
Δ
Chrome 38 中未显示嵌入和对象放置的 SVG,但在 Safari 8 中显示。
是否有任何备忘单或快速参考,说明哪些浏览器支持内联、嵌入、背景等方式下的动画、交互性等?
我不确定它是否完全符合你的需求,但请尝试 https://caniuse.cn/
是的,我也看到 Chrome 中 object/embed 不起作用。这很奇怪,因为我实在看不出 SVG 或代码有什么问题,而且我确信 Chrome 对它们的支持没问题。如果你下载该 Pen 的 .zip 文件并在本地打开它,它就可以工作。即使在 file:// URL 上也能工作,因此这不是跨域问题。也许是 CodePen 用户使用的沙盒 iframe 或我们使用的内容安全策略之类的东西导致的奇怪问题。
John 链接到的 Can I Use 的 “基本支持”部分 应该会参考 object/embed 支持
嗨,我正在尝试这些方法,但我想让 SVG 放在 a href 中。我尝试了这三种方法,但当我将鼠标悬停在 SVG 上时,我设置的任何悬停效果都不会应用。对此有什么建议吗?