Web浏览器无法显示svg文件

时间:2014-06-18 12:51:02

标签: html svg

我有一个graphics.svg文件,其中包含以下代码:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="400" height="110">
  <rect width="400" height="110" style="fill:rgb(0,0,255);" />
</svg>

如果我从网络浏览器(Firefox,Chromium)打开该文件,则不会显示矢量图像。相反,该文件以XML格式显示:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

<svg width="400" height="110">
    <rect width="400" height="110" style="fill:rgb(0,0,255);"/>
</svg>

这是因为svg文件应该嵌入到html文件中以便正确显示吗?

2 个答案:

答案 0 :(得分:15)

不,这是因为您未能使用

svg元素指定命名空间
xmlns="http://www.w3.org/2000/svg"

请参阅the examples in the spec

答案 1 :(得分:4)

您缺少名称空间声明。

您需要添加xmlns="http://www.w3.org/2000/svg"作为根<svg>元素的属性,当您在那里时,您也可以添加xmlns:xlink="http://www.w3.org/1999/xlink"

您可能需要仔细阅读一些更完整的创作指南here