gpt4 book ai didi

html - 自定义元素的名称中是否需要破折号?

转载 作者:行者123 更新时间:2023-12-02 09:13:43 26 4
gpt4 key购买 nike

是否可以命名您自己的自定义元素<date> , <person> , <city>或者其他不使用破折号的?可以在没有它们的情况下使用定义元素吗?

最佳答案

所有浏览器都支持有限的 HTML 元素列表,这些元素被视为“已知”。未知的元素(例如 <city><person> )通常不会在现代浏览器中的 HTML 解析器中引发错误,而是从 HTMLUnknownElement 继承。 。然而,在旧版本的 IE 中,此类元素将作为没有任何子节点的空节点插入到 DOM 中 (1)。

Custom Elements规范requires所有自定义元素的名称中都包含连字符 ( - )。所以而不是 <person> ,您可以使用 <my-person><x-person> 。这些是有效名称,而 <person > 被视为未知元素。

破折号有效地允许 HTML 解析器区分真正的自定义元素和常规元素。当标准组织向 HTML 添加新标签时,它还使我们能够实现一定程度的 future 功能。

您可以使用任何连字符分隔的名称,但以下名称除外:

  • annotation-xml
  • color-profile
  • font-face
  • font-face-src
  • font-face-uri
  • font-face-format
  • font-face-name
  • missing-glyph

据我所知,这些名称是 SVG、MathML 和其他规范的保留名称。例如,这里有更多 info关于<font-face>元素。

(1) 这引发了黑客攻击,开发人员可以使用 JavaScript 在 IE 中创建一个虚拟 HTML5 标签(例如 <article> ),以便他们可以使用 CSS 根据任何正常元素对其进行样式设置。

关于html - 自定义元素的名称中是否需要破折号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com