自我关闭svg元素

时间:2014-11-07 20:17:12

标签: html html5 svg

我最近创建了一个svg元素,它在本地使用自闭项标签,如下所示:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" style="height: 25px; width: 300px; display: inline-block;">
  <circle cx="10" cy="10" r="4" stroke="black" stroke-width="1" fill="none" />
  <line x1="14" y1="10" x2="286" y2="10" stroke-width="2" stroke="black" />
  <circle cx="290" cy="10" r="4" stroke="black" stroke-width="1" fill="none" />
</svg>

但是当在生产服务器上呈现时,它出现了所有嵌套的东西。第一个圆圈正确嵌套在svg元素中,但该行嵌套在第一个圆圈内,第二个圆圈嵌套在该行内。结束标记行的结尾类似于:</circle></line></circle></svg>

我必须更改svg元素以使用结束标记,如下所示:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" style="height: 25px; width: 300px; display: inline-block;">
  <circle cx="10" cy="10" r="4" stroke="black" stroke-width="1" fill="none" ></circle>
  <line x1="14" y1="10" x2="286" y2="10" stroke-width="2" stroke="black" ></line>
  <circle cx="290" cy="10" r="4" stroke="black" stroke-width="1" fill="none" ></circle>
</svg>

无处不在,我认为svg元素上的结束标记是可选的。是什么给了什么?

1 个答案:

答案 0 :(得分:0)

您的初始标记没有任何问题(正如您所见:http://jsfiddle.net/6b0fv1a2/),因此这让我相信它是您服务器的mime类型。

的Apache: &#34;虽然SVG MIME类型默认包含在自1.3.x版以来Apache Web服务器支持的MIME类型列表中,但旧版本可能需要更新。&#34;

的.htaccess

设置正确MIME类型的最简单方法可能是使用&#34; .htaccess&#34;文件。这是一个经常隐藏的配置文件。如果您的服务器没有这样的文件,请创建一个文件并将其命名为&#34; .htaccess&#34;,并将SVG文件扩展名与正确的MIME类型相关联;如果文件已存在,您只需向其添加正确的条目即可。您应添加的特定行是:

AddType image/svg+xml svg
AddType image/svg+xml svgz

阅读更多(和其他服务器):http://www.w3.org/services/svg-server/