为什么浏览器解析HTML5中的自定义标记?

为什么浏览器解析HTML5中的自定义标记?,html,tags,semantics,Html,Tags,Semantics,可能重复: 我已经测试了一个自定义标记在Chrome和IE9中 我使用HTML5 doctype HTML5不支持自定义标记。代码不会进行验证,但浏览器会对其进行解析。我甚至可以针对它与CSS 当自定义标记不是标准化的有效代码时,浏览器为什么要解析它 为什么我不应该为了语义代码而使用自定义标记呢 当自定义标记不是标准化的、有效的代码时,浏览器为什么要解析自定义标记 使其向前兼容。试想一下,如果您无法在旧浏览器中设置元素的样式,因为在编写这些旧浏览器时,并不存在。那太可怕了,不是吗?怒视 为什么

可能重复:

我已经测试了一个自定义标记
在Chrome和IE9中

我使用HTML5 doctype

HTML5不支持自定义标记。代码不会进行验证,但浏览器会对其进行解析。我甚至可以针对它与CSS

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

为什么我不应该为了语义代码而使用自定义标记呢

当自定义标记不是标准化的、有效的代码时,浏览器为什么要解析自定义标记

使其向前兼容。试想一下,如果您无法在旧浏览器中设置
元素的样式,因为在编写这些旧浏览器时,
并不存在。那太可怕了,不是吗?怒视

为什么我不应该为了语义代码而使用自定义标记呢


因为没有其他人(程序)识别这些标记,所以它们不是语义的。像
这样的元素之所以被认为是语义元素,是因为它们有既定的用途。当您使用未确定用途的自定义元素时,可能会以多种方式对其进行解释,从而导致程序之间的不一致。对

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

在90年代后期,有一种向严格的方向发展的趋势,这导致了一场灾难性的失败,每一次错误都会导致灾难性的失败。如果你喜欢严格,似乎有一个版本的


XHTML还有另一个有趣的特性——您可以根据自己的需要定义和使用自定义标记,事实上这是为了它的开发

在这里可以找到一个关于这个主题的有趣的讨论:难道标准不要求解析无法识别的标记吗?@Adam:最后一行是这个问题的重复,但其余的问题完全不同。我自己说得再好不过了。好在SGML不再存在于HTML5中。@BoltClock是的,他们终于摆脱了它,继续保持宽容。我觉得这是件好事