鉴于允许HTML5 specs的当前creating custom HTML elements(只要他们的名字包含破折号),以及Web Components似乎是一个功能就在这里的事实,我想知道为什么创建自己的自定义HTML元素不受欢迎?
请注意,我不是在问是否使用Web组件 - 这仍然是一个移动目标,即使像Polymer这样的大型polyfill也可能尚未准备好进行生产。我问的是创建自己的自定义HTML标记并设置样式,而不需要附加任何JS API。
答案 0 :(得分:2)
简短回答:我没有听到任何令人信服的理由来避免它们。
然而,这里有一些我曾经听过的反复论据:
document.createElement("my-tag");
就可以解决这个问题。)div
,那么我就不明白你为什么不能这样做了。请改用自定义标签。答案 1 :(得分:1)
反对自定义标签的一个论点是它们与屏幕阅读器的隐含不兼容性。可以使用WAI-ARIA attributes解决此问题。
如果在表格单元格中插入了没有display属性的自定义元素,则存在issue in IE11,它会破坏表格布局。 Check the plunker code。因此,明确声明所有新元素是最安全的,例如:
new-element {
display: block;
}