为什么浏览器可以显示HTML文档中未被定义的标签?

今天在测试HTML5中<main>标签的兼容性时突发奇想,把"main"改成了"abcd",

Sublime中的代码

然后以为浏览器会忽略<abcd>的样式,但是结果并非如此,

结果

它表现得和普通标签一摸一样。

我就觉得很奇怪啊,那不就是XML了吗?

阅读 4.3k
2 个回答

HTML 把未知标签解析为普通标签是有很多好处的:

  1. 对于不支持的标签,可以给出提示:<video>浏览器不支持</video>

  2. 一些新的语义化标签,如<article></article>,即便不支持,也能够显示出来

  3. 用户定义标签,如 Angular、Vue 定义的标签,在 js 文件未加载时,仍可以显示内容

  4. 对新标签的包容性更强。你不会希望在使用新标签时,在不支持它的浏览器上完全没效果,还无法给出提示信息。

这样看,应该就布奇怪了吧。

HTML5是支持自定义标签的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题