繁体   English   中英

怎么 <navigation> 一个有效的HTML5标签?

[英]How is <navigation> a valid HTML5 tag?

背景资料:

我正在跟随Lynda教程,教师使用<navigation>标签创建他的导航部分。

他的代码的精简版本:

<html>
<body>
  <header>
    <h1>Global Bank</h1>
  </header>

  <navigation>   <=== Valid?
     <ul><li>Menu</li><ul>
  </navigation>  <=== Valid?

  <footer>
  </footer>
</body>
</html>

我的问题

但是,我不知道这是怎么可能的。 我知道导航部分是使用<nav>标签创建的,而不是<navigation>。

在询问之前,我查看了以下这些地方--W3C HTML5文档W3SchoolsGoogle ,以及此处。

但我所看到的只是使用<nav>来创建导航部分,而没有使用<navigation>。

通常情况下,我认为这可能是某种错误,但是教师正在使用的编辑器(Atom)能够将<navigation>识别为HTML标签,并且教师说该标签是HTML5。 但我无法在此<navigation>标签上找到任何内容。

我的问题:

有谁知道我在哪里可以找到关于<navigation>标签的信息,如果有的话? 一个链接将不胜感激。

如果没有,那么<navigation>如何成为有效的HTML5标签,教师说? 有没有办法使用用户定义的标签? 如果可以的话,也可以了解有关此细节的链接。

非常感谢您的时间和关注!

正如您所指出的, <navigation>不是HTML5标签,而是<nav> 为什么你的老师会使用自定义<navigation>而不是标准<nav> ,我不知道。

HTML规范允许使用自定义元素,如下所述

自定义元素为作者提供了一种构建自己的全功能DOM元素的方法。 虽然作者总是可以在他们的文档中使用非标准元素,但是事后通过脚本或类似方式添加特定于应用程序的行为,这些元素在历史上一直是不符合要求的,并且功能不是很强。 通过定义自定义元素,作者可以通知解析器如何正确构造元素以及该类的元素应如何对更改做出反应。

自定义元素是“合理化平台”的更大努力的一部分,通过在较低级别的作者公开的可扩展性点(如自定义元素定义)方面解释现有平台功能(如HTML的元素)。 虽然今天自定义元素的功能有许多局限性 - 无论是在功能上还是语义上 - 都阻止它们完全解释HTML现有元素的行为,但我们希望随着时间的推移缩小这一差距。

但是这些自定义元素必须具有遵循标准中指定的模式[az] (PCENChar)* '-' (PCENChar)* 的名称 这意味着它必须是一个字母后跟一个未定义的字符数,连字符( - )和更多字符(链接上有效字符的更多详细信息)。

<navigation>不遵循该模式,如果您尝试使用HTML验证器 ,您将看到它抛出错误并指示它不是有效的HTML。

标签定义了一组导航链接。

例如:

    <nav>
       <a href="/html/">HTML</a> |
       <a href="/css/">CSS</a> |
       <a href="/js/">JavaScript</a> |
       <a href="/jquery/">jQuery</a>
    </nav>

我从未遇到过<navigation>标签。 但您始终可以将其创建为用户定义的标记。 您将获得以下所需的所有帮助:

https://www.html5rocks.com/en/tutorials/webcomponents/customelements/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM