为什么浏览器在HTML5中解析自定义标签?

时间:2012-10-10 19:45:14

标签: html5 tags semantics

  

可能重复:
  Is it OK to use unknown HTML tags?

我在Chrome和IE9中测试过自定义代码<oles-tag> ... </oles-tag>

我使用HTML5 doctype <!DOCTYPE html>

HTML5不支持自定义标记。代码不会验证,但浏览器无论如何都会解析它。我甚至可以用CSS来定位它......

为什么浏览器会在不是标准化的有效代码时解析自定义标记?

为什么我不应该只为语义代码使用自定义标签?

2 个答案:

答案 0 :(得分:9)

  

为什么浏览器解析自定义标签,当它不是标准化且有效的代码?

使其向前兼容。试想一下,如果您不可能在旧浏览器中设置<article>元素,因为在编写旧浏览器时<article>不存在。那太可怕了,不是吗? 瞪眼IE

  

为什么我不应该只为语义代码使用自定义标签?

因为没有其他人(程序)识别这些标签,因此它们不是语义的。像<article>这样的元素被认为是语义的原因是因为它们具有已建立的用法。当您使用没有确定用途的自定义元素时,可以通过多种方式对其进行解释,从而导致程序之间的不一致。 强调<b><i>

答案 1 :(得分:0)

浏览器往往对标记宽容。这在一定程度上源于采用复杂SGML语法的困难。

在90年代后期出现了严格的运动,导致了XHTML的创造,每一个错误都会导致灾难性的失败。如果您更喜欢严格,则似乎有XHTML adapted for HTML5的版本。

XHTML还有另一个有趣的功能 - 您可以根据需要定义和使用自定义标记,实际上这是one of the two major reasons的开发。