gpt4 book ai didi

HTML5 : Why not use my own arbitrary tag names?

转载 作者:技术小花猫 更新时间:2023-10-29 12:41:24 26 4
gpt4 key购买 nike

据我所知,在 HTML5 中组成标签名称是完全合法的,并且它们可以正常使用 CSS 样式和嵌套等。

当然,我的任意标记名称对不理解它们的浏览器没有任何影响,但它大大提高了我的代码的可读性,从而更易于维护。

那么为什么我不应该在我的页面上使用任意标签名称呢?会影响SEO吗?它会破坏任何东西吗?

重要编辑:与 http://ejohn.org/blog/html5-shiv/ 一起使用时,旧版浏览器不会阻塞不受支持的标签

最佳答案

更新

最初的答案很旧,是在网络组件存在之前创建的(尽管自 2011 年以来就已经讨论过了)。自定义元素的规则发生了很大变化。 W3C 现在有一个关于 custom elements 的完整标准

Custom elements provide a way for authors to build their own fully-featured DOM elements. Although authors could always use non-standard elements in their documents, with application-specific behaviour added after the fact by scripting or similar, such elements have historically been non-conforming and not very functional. By defining a custom element, authors can inform the parser how to properly construct an element and how elements of that class should react to changes.

换句话说,W3C 现在可以让您使用自定义元素(或问题所称的任意标签名称)。但是,围绕它们及其使用有很多规则,因此您应该引用链接的文档。


原始答案

  1. 旧版浏览器会因无法识别的标签而阻塞。没有什么可以保证您的自定义标签在任何浏览器中都能如您所愿地工作
  2. 您的标签没有语义含义,因为该含义仅存在于规范中商定的标签中。这是否会影响 SEO 尚不得而知,但如果遇到无法识别的标签(包括屏幕阅读器或网络抓取工具),任何解析 HTML 的内容都可能会出现问题
  3. 如果您的标签嵌套不当,您可能无法从浏览器获得所需的帮助
  4. 以同样的方式,一些浏览器可能会搞砸渲染并且彼此不同。例如,<p><ul></ul></p>在 Chrome 中被解析为 <p></p><ul></ul> .无法保证您的标签将如何处理,因为它们没有商定的内容模型
  5. W3C不希望你这样做。

    Authors must not use elements, attributes, or attribute values that are not permitted by this specification or other applicable specifications, as doing so makes it significantly harder for the language to be extended in the future.

如果您真的需要为此目的使用自定义标签,您可以使用某种模板语言(例如 XSLT)并创建一个样式表以将其转换为有效的 HTML

关于HTML5 : Why not use my own arbitrary tag names?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16867332/

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