add*_*dyo 40 web-component x-tag polymer
是否有可能来命名自己的自定义元素<date>
,<person>
,<city>
或其他不使用破折号?没有它们可以使用定义元素吗?
add*_*dyo 68
所有浏览器都支持有限的HTML元素列表,这些元素被认为是"已知的".元件,其未知的(例如<city>
,<person>
)一般不会引发错误,在现代浏览器的HTML解析器和代替继承HTMLUnknownElement
.然而,在IE的旧版本中,这些元素将作为空节点插入DOM而没有任何子节点(1).
在自定义元素规范要求,所有的自定义元素包含一个连字符(-
)之名.所以不是<person>
,你会使用<my-person>
或<x-person>
.这些是有效名称,而<person
>被视为未知元素.
破折号有效地允许HTML解析器区分真正的自定义元素和常规元素.它还允许我们在标准组向HTML添加新标签时启用未来级别的功能.
您可以使用任何以连字符分隔的名称,但以下情况除外:
annotation-xml
color-profile
font-face
font-face-src
font-face-uri
font-face-format
font-face-name
missing-glyph
据我所知,这些名称是SVG,MathML和其他规范的保留名称.例如,这里有关于元素的更多信息<font-face>
.
(1)这导致了开发者在IE中<article>
使用JavaScript 在IE(例如)中创建虚拟HTML5标记的黑客攻击,以便他们可以使用CSS为任何普通元素设置样式.