为什么浏览器解析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是的,他们终于摆脱了它,继续保持宽容。我觉得这是件好事