在HTML中内联的SVG <img/>标记未在浏览器中加载图像

时间:2011-07-10 19:03:09

标签: html cross-browser svg

尝试使用HTML页面在SVG中加载图像:

<html>
...
<svg>
<image x="330" y="137" width="320" height="38" preserveAspectRatio="none" href="/img/title.png"></image>
</svg>
...
</html>

svg中的所有其他元素加载(路径形状文本)除了图像。有什么方法可以在浏览器中使用它?我试过Chrome,Firefox,IE。所有浏览器都缺少图像。

使用Chrome我发现Chrome甚至没有发送图像请求。我有预感,IE和Firefox也一样。

任何解决方案?

2 个答案:

答案 0 :(得分:15)

您需要使用:

<image ... xlink:href="...">

请参阅the SVG Document Structure spec

答案 1 :(得分:2)

这不是问题所在,但是我遇到了类似的问题,其中<image href="/path/to/file.svg">标签没有在Edge中显示,而在Firefox和Chrome中正常工作。

事实证明,如果您未在height标签上同时设置width<image>属性,Edge将不会显示图像。在Chrome和Firefox中并非如此,仅使用width就足够了。