我一直在使用 SVG 进行一些工作,并且从头开始编写它并使用 javascript(包括 d3js)生成它。
我刚刚注意到的一件事是,当我在 javascript 中创建一个新元素时,即使用
var pathNode = document.createElementNS(svgns,"path");
var pathElement = svg.appendChild(pathNode);
生成的 HTML 为 <path></path>
。我检查了很多 D3 演示,这也是 D3 生成 HTML 的方式。
在我读过的有关 SVG 的所有文档中,我从未见过任何提及以这种方式编写 SVG 元素的内容。浏览器对两者的处理方式相同吗?在我测试过的所有浏览器中,SVG 都正确显示,并且 W3C 验证器验证了这两个版本,因此看起来确实如此,但任何人都可以澄清这一点,让我安心吗?
最佳答案
SVG 是一种 XML 语言,并且采用 XML <x></x>
与 <x/>
完全相同。 Per the XML specification
空元素标签可用于任何没有内容的元素,无论是否使用关键字 EMPTY 声明
关于svg - 在 SVG 中,<path/> 与 <path></path> 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18891598/