不使用自定义HTML标记的原因是什么?

Mac*_*ban 5 html5 custom-tag custom-element

鉴于目前的HTML5规范,允许创建自定义HTML元素(只要他们的名称中包含一个破折号),而事实上,Web组件似乎是一个功能,在这里留下来,我想知道为什么是创建自己的自定义HTML元素不满意?

请注意,我不是在问是否使用Web组件 - 它仍然是一个移动目标,即使像Polymer这样的大型polyfill也可能尚未准备好进行生产.我问的是创建自己的自定义HTML标记并设置样式,而不需要附加任何JS API.

小智 2

简短的回答:我还没有听到任何非常令人信服的理由来避免它们。

然而,以下是我听到的一些反复出现的论点:

  • 在旧版 IE 中不起作用(document.createElement("my-tag");应该修复这个问题)。
  • 全局命名空间冲突(这同样适用于类名和一般的自定义元素)。
  • CSS 选择器性能(哦,这是你最不应该担心的事情)。
  • 功能、意义和呈现的分离。这实际上是我听到的唯一一个认为恕我直言有任何有效依据的论点。当然,使用语义 HTML(搜索引擎等)会更好,但如果您打算使用 adiv来代替,我不明白为什么您不能使用自定义标记。