SVG的XMLNS属性在HTML5中有效吗?

时间:2014-08-22 13:17:34

标签: xml html5 validation svg

我非常喜欢使用SVG内联矢量图标和类似的用例。最近,在Internet Explorer 8中进行测试时,我发现xmlns属性的存在导致HTML5Shiv失败。我提交了一份问题报告(https://github.com/aFarkas/html5shiv/issues/167),只是为了接收XML不属于HTML5的讽刺答案。

SVG,虽然XML似乎已经被接受为最佳实践,并且经常被推荐用于HTML5,所以我得到的回答似乎很愚蠢。

我的问题是XMLNS是否适用于HTML5?大多数教程似乎都推荐它(甚至是HTML5Rocks:http://www.html5rocks.com/en/tutorials/svg/mobile_fundamentals/),除了能够打破HTML5Shiv之外,我还没有发现任何告诉我它在HTML5中无效。

我的问题的第二部分是删除该属性是否会造成伤害。如果我删除“xmlns”属性,我可以在不同的浏览器中看到哪些错误?

我已将其从我的代码中删除,看不出任何问题,但我想仔细检查。

修改

我包含导致问题的HTML / XML。请注意,只需删除“xmlns”部分即可解决问题。

 <header>
   <div>
     <a href="#navigation" class="page_nav_btn" id="navBtn" >
       <svg xmlns="http://www.w3.org/2000/svg" width="22" height="18" viewBox="0" version="1.1">
         <switch>
           <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
             <g transform="translate(-1.000000, 0.000000)" fill="#FFFFFF">
               <rect x="0" y="0" width="23" height="3"/>
               <rect x="0" y="7" width="23" height="3"/>
               <rect x="0" y="14" width="23" height="3"/>
             </g>
           </g>
           <foreignObject>
             MENU
           </foreignObject>
        </switch>
      </svg>
    </a>
  </div>
</header>

1 个答案:

答案 0 :(得分:0)

在某种意义上允许使用任何随机属性,但在文档/ html中作为html解析器使用ignored