当前位置: 首页 > 知识库问答 >
问题:

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

季凡
2023-03-14

在我在互联网上看到的大约一半的svg示例中,代码都是简单的

另一半,svg标签有很多复杂的属性,如下所示:

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

我的问题是:使用简单的svg标签可以吗?我尝试过使用复杂的标签,如果不包含它们,我这边一切都很好。


共有3个答案

汤枫
2023-03-14

我想把这两个答案都加起来,但我没有什么意义,我正在加一个新的答案。在最近对Chrome(版本63.0.3239.132(官方版本)(64位Windows))的测试中,我发现:

  • 对于通过文本编辑器或javascript和elm.innerHTML直接输入超文本标记语言文件的内联SVG,xmlns属性不是必需的,如其他两个答案所述。
  • 但是对于通过javascript和AJAX加载的内联SVG,有两个选项:
    • 使用xhr.responseTextelm.innerHTML。这不需要xmlns。
    • 使用xhr.responseXML.documentElementelm.appendChild()elm.insertBefore()。这种创建内联SVG的方法在没有声明基本SVG命名空间的情况下产生半生不熟的结果,如xmlns="http://www.w3.org/2000/svg"中所示。

蔺弘
2023-03-14

所有用户代理(浏览器)都忽略版本属性,因此您可以随时删除它。

如果您将SVG内联嵌入到超文本标记语言页面中,并将该页面作为text/html提供,则不需要xmlns属性。将SVG内联嵌入到超文本标记语言文档中是一项相当新的创新,它是HTML5的一部分。

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

林英锐
2023-03-14
匿名用户

< code > xmlns = " http://www . w3 . org/2000/SVG " 属性为:

  • 图像/svg xml文件需要。1
  • 内联可选

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

  • 对于具有xlink:attributes的image/svg xml文件是必需的1
  • 内联可选

version="1.1"属性为:

  • 建议符合image/svg xml文件标准。3
  • 显然被每个用户代理忽略了。4
  • 在SVG 2中删除。5

1国际化资源标识符(RFC3987)
2自HTML5
3可扩展标记语言(XML)1.0
4可能直到其他主要版本发布。
5SVG 2,W3C候选人推荐,2018年8月7日

 类似资料:
  • 问题内容: 我正在编写一个简单的应用程序,以使用AES / CBC(模式)对我的消息进行加密。据我了解,CBC模式需要IV参数,但我不知道为什么我的代码在不使用IV参数的情况下也能工作。任何人都可以解释为什么?谢谢。 打印的加密消息:T9KdWxVZ5xStaisXn6llfg ==毫无例外。 问题答案: 不带IV使用时,对于包括AES在内的某些类型的密码,它将隐式使用0 IV。请参阅Cipher

  • 在Xamarin网站上,它说: 最低操作系统版本为Windows 7。Xamarin。Forms Windows支持需要Windows 8.1和Xamarin。Forms UWP支持需要Windows 10 这是否意味着如果我想在Android和iOS应用程序的Xamarin.FormsAPI中使用UI控件和XAML,我需要有Windows 10?还是只有当我想将我的应用程序部署到Windows手

  • 问题内容: 我有一个非常简单的python脚本, 应该 扫描一个文本文件,该文件包含格式为 id =’ value ‘的行并将其放入dict中。python模块称为chval.py,输入文件为in.txt。这是代码: 当我尝试运行它时,我得到: 追溯(最近一次通话): 文件“ chval.py”,第9行,位于?中。f = open(sys.argv [1],’r’)TypeError:必须为整数

  • 随着新的工具栏小部件的引入和AppCompat(android.support.v7.widget.Toolbar)版本的推出,是否还需要调用setSupportActionbar(工具栏)?或者调用setSupportActionbar有什么好处吗;现在我们可以设置标题、子标题、导航图标、导航图标单击侦听器(getSupportActionBar()。直接在工具栏上设置DisplayHomeAs

  • 问题内容: 我正在尝试使用post请求将用户保存到mongodb数据库,如下所示,但我收到错误bcrypt错误:需要数据和哈希参数。这是代码的非常简单的设置,但我不知道它有什么问题。models / users.js 路线/users.js 服务器正在运行,但是在使用邮递员chrome后显示请求错误,并且服务器停止工作,如图中所示。 问题答案: 错误来自方法。就您而言,您具有以下代码段: 我认为您

  • 问题内容: 接口是100%抽象的类,因此我们可以使用接口进行高效编程。在任何情况下,抽象类都比接口更好吗? 问题答案: 当您确实想创建一个具体的类,但要确保所有子类中都存在某种 公共状态 ,或者某些操作可能具有某种 公共实现 时,可以使用抽象类。 接口不能包含任何一个。