是否需要SVG参数,如“xmlns”和“版本”?

在互联网上看到的大约一半的svg例子中,代码被简单的<svg></svg>标签所包裹。

另一方面,svg标签有很多复杂的属性,例如:

 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"> 

我的问题是:可以使用简单的svg标签吗? 我尝试过复杂的玩法,如果我不包含它们,一切正常。

所有的UA都忽略版本属性,所以你可以随时删除它。

如果将内嵌的SVGembedded到HTML页面中,并以text/html提供该页面,则不需要xmlns属性 。 在HTML文档中embeddedSVG内嵌是HTML5的一部分,是一个相当新的创新。

但是,如果您将页面作为image / svg + xml或application / xhtml + xml或任何其他导致用户代理使用XMLparsing器的MIMEtypes提供,那么xmlns属性必需的 。 这是直到最近才做的事情的唯一方式,所以有很多这样的内容。

xmlns="http://www.w3.org/2000/svg"属性是:

  • 对于image / svg + xml文件是必需的。 1
  • 内联 <svg> 可选2

xmlns:xlink="http://www.w3.org/1999/xlink"属性是:

  • 对于具有xlink:属性的图像/ svg + xml文件是必需的。 1
  • 可选 内联 <svg>xlink:属性。 2

version="1.1"属性是:

  • build议遵守image / svg + xml文件标准。 3
  • 显然每个用户代理都忽略它。 4

1 国际化资源标识符(RFC3987)
2 由于HTML5
3 可扩展标记语言(XML)1.0
4可能直到发布更多的主要版本。