首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5:为什么不使用我自己的任意标记名呢?

HTML5:为什么不使用我自己的任意标记名呢?
EN

Stack Overflow用户
提问于 2013-05-31 23:20:00
回答 1查看 2.7K关注 0票数 15

据我所知,在HTML5中使用标记名称是完全合法的,它们的工作方式与CSS样式和嵌套等类似。

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2013-05-31 23:31:01

更新

最初的答案很古老,是在web组件存在之前创建的(尽管这些组件自2011年起就已经讨论过了)。自定义元素的规则已经发生了很大的变化。W3C现在有了一个完整的自定义元素标准

自定义元素为作者提供了一种构建自己功能齐全的DOM元素的方法。尽管作者总是可以在他们的文档中使用非标准元素,但在脚本或类似的事实之后添加了特定于应用程序的行为,但这些元素历来都是不符合标准的,功能也不太好。通过定义自定义元素,作者可以告知解析器如何正确构造元素,以及该类的元素应如何对更改作出反应。

换句话说,W3C现在可以使用自定义元素(或者问题调用的任意标记名称)。然而,有相当多的规则围绕着它们及其使用,因此您应该参考链接文档。

原始答案

  1. 旧的浏览器被他们不认识的标签阻塞了。没有任何东西可以保证您的自定义标记在任何浏览器中都能像您预期的那样工作。
  2. 没有语义意义应用于您的标记,因为这个意义只存在于规范中的约定标记中。这是否影响SEO尚不得而知,但任何解析HTML的内容都可能会遇到它无法识别的标记,包括屏幕阅读器或网页刮板。
  3. 如果标记嵌套不当,则可能无法从浏览器获得所需的帮助。
  4. 同样,一些浏览器可能会导致渲染错误,并且彼此之间也会有所不同。例如,<p><ul></ul></p>在Chrome中被解析为<p></p><ul></ul>。由于标签没有商定的内容模型,因此无法保证如何处理它们。
  5. W3C不想让你这么做。作者不得使用本规范或其他适用规范不允许的元素、属性或属性值,因为这样做会大大增加语言在未来的扩展难度。

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

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16867332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档