你能有那么多吗<;导航>';在HTML5文档中,您想要什么?
我喜欢HTML5标准中的新标签。我可以多次使用它们吗 比如3个你能有那么多吗<;导航>';在HTML5文档中,您想要什么?,html,Html,我喜欢HTML5标准中的新标签。我可以多次使用它们吗 比如3个标签,或者两个标签,我可以发明像这样的新标签吗 在xhtml中,我有: <div class="nav-wrap"> <div class="nav"> ... </div> </div> ... 所以我可以这样做: <nav class="wrap"> <nav> <!-- can <nav> have <li>
标签,或者两个
标签,我可以发明像
这样的新标签吗
在xhtml中,我有:
<div class="nav-wrap">
<div class="nav">
...
</div>
</div>
...
所以我可以这样做:
<nav class="wrap">
<nav> <!-- can <nav> have <li>'s ? -->
...
</nav>
</nav>
...
?中定义了
元素,但未定义
元素。您可以使用任意数量的
元素(只要它们不是嵌套的),但其他元素必须提供DTD,并希望用户使用的浏览器足够灵活,可以接受新元素
我建议不要定义新元素,只使用现有的语义元素来创建您想要的效果
已经足够好了,如果您将主要内容包装在
中,将被视为次要内容,这有效地提醒浏览器,该区域不是页眉、页脚或主要内容,在大多数网站上相当于侧边栏
然而,在大多数情况下,
aside元素表示页面的一部分,该部分由与aside元素周围的内容相切的内容组成,可以将其视为独立于该内容在印刷字体中,这些部分通常表示为边栏
Emphasis mine在导航中嵌套无序的链接列表更常见:
<nav class="wrap">
<ul>
<li>...
</ul>
</nav>
- 。。。
您可以根据需要在页面中包含任意多的nav
元素,但不需要在nav
中包装每个链接或链接集-只有“主要导航”应该在nav
元素中。有一个
对于侧边栏,没有必要发明自己的元素,请使用
你可以发明自己的元素,在兼容HTML5的浏览器中仍然可以使用标记,只要它们遵循规则,你就不在乎你使用什么标记名,但是你就不会编写HTML5了,所以这是毫无意义的。我建议您通读本规范开头的部分,尤其是bit“可能是打字错误的情况”:
当用户输入一个简单的打字错误时,它是
如果可以捕获错误,则会很有用
尽早,因为这样可以节省作者的时间
大量的调试时间。这
因此,规范通常
认为使用元素是错误的
名称、属性名称等,
与中定义的名称不匹配
本规范
“nav”元素应该在有“主”导航的地方使用,通常在网站的标题中,但也可以在用户可以导航当前页面的地方使用
通常不需要将它放在页脚中(因为它通常不被认为是您的主要导航),尽管它不会造成真正的伤害
ZZBOV的答案并不完全正确,所以让我试着给出一个更准确的例子
作为“侧边栏”的替代,您应该使用“aside”标记,它通常包含次要内容(如侧边导航、链接、广告等)
这在语义上不是一个边栏,远远不是。div元素用作样式或JavaScript的钩子,没有语义意义,这就是为什么引入了'aside'元素,请使用它
如果您只需要一个包装器来设计样式,那么div是完美的(甚至是首选的)
根据经验,HTML应该包含描述内容的元素。你通常可以大声读出来,这会有意义的
例如:“我的页面侧面有一个导航元素列表”,可以翻译为:
<aside>
<nav>
<h1>Navigation</h1>
<ul>
<li><a href="/someplace">Link to someplace</li>
<li><a href="/someplace-else">Link to someplace else</li>
</ul>
</nav>
</aside>
航行
- 链接到某个地方
- 链接到其他地方
总结一下:一般来说,您在主要导航区域使用nav元素,比如网站标题中的导航,有时也使用导航来导航当前页面
页面中不是主要内容(但可能相关)的部分通常放在“搁置”元素中
希望这有帮助 您的问题是否与任何特定的搜索引擎和/或应用程序相关?除此之外,nav标记用于包含链接,因此不能嵌套。但是你可以有你需要的导航标签。理想情况下,我们在页面中有两个导航标记,一个在页眉部分,另一个在页脚部分。参见这里,aside
并不总是侧边栏的语义正确的元素。这是正确的,但是div无论如何都没有语义。侧边栏作为一个整体不需要新元素(div可以控制它的外观),但是侧边栏中的内容可能会受益于诸如aside和nav之类的元素。div
没有隐式语义,但是[class]
有隐式语义class=“sidebar”
赋予div
某种意义,因为它现在属于侧边栏组。这些语义通常对最终用户是透明的,但对于一般的web开发来说很重要。当讨论包含
元素时,确定其有用性的一个因素是来自使用类的现有网站的数据,如.main
,.content
,等等。大部分使用的元素是div
s,但它们仍然具有语义。我理解你的意思,但在这种情况下,我不同意“语义”这个词。在用户和浏览器级别上,div和span不传递任何语义,不管它们的类是什么。对于开发人员来说,这是不同的,但它只表达“语义”,作为让其他开发人员知道div/span的用途的一种方式。主要元素主要是为了将实际的主要内容与流的其余部分分离开来(没有双关语的意思),这是一个很好的例子-
<aside>
<nav>
<h1>Navigation</h1>
<ul>
<li><a href="/someplace">Link to someplace</li>
<li><a href="/someplace-else">Link to someplace else</li>
</ul>
</nav>
</aside>