【发布时间】:2014-04-28 18:10:49
【问题描述】:
只是想知道,在设计一个主要使用html5 元素且doctype 用于html5 的网站时,将<header> 标签放在div 标签内是不好的做法吗?谢谢!
另外,我应该将Nav 放在标题外面还是里面,还是真的很重要?
【问题讨论】:
只是想知道,在设计一个主要使用html5 元素且doctype 用于html5 的网站时,将<header> 标签放在div 标签内是不好的做法吗?谢谢!
另外,我应该将Nav 放在标题外面还是里面,还是真的很重要?
【问题讨论】:
我不认为这是一种不好的做法。但是,仍要确保将其放置在应该放置的一般区域中。
这里有一个link,可以帮助您了解标题的位置。
【讨论】:
不,只要您尊重内容语义并且您的标头包含标头信息。您可以将其包装在没有 SEO 缺点的 div 中。
【讨论】:
不,不是严格意义上的,但是通过将header 嵌入到正文以外的元素下会隐含一些上下文语义。根据您构建文档的方式,您可能会遇到意外行为。见下文。
据我所知,HTML5 是一种无 DTD 的文档类型。它不适用严格的规则,因为它与文档结构验证有关。根据HTML5上的W3C文档:
... 标题元素表示其最近的祖先分段内容或分段根元素的介绍性内容。标题通常包含一组介绍性或导航帮助。 [1]
基本上,这似乎表明,如果 header 元素直接位于文档的 body 之下,则它适用于整个页面,但如果包含在另一个标识部分的元素之下header 更具体地适用于最近的祖先。
请记住,<div> 不是Tomasz Zielinski 指出的分段元素。原本我以为是。如果您希望您的标题仅适用于页面的特定部分,最好使用定义的分区元素之一来包含标题,如下定义:http://www.w3.org/TR/html5/sections.html
例如
<div>
<section>
<header>...</header>
</section>
</div>
【讨论】:
<nav> 放在标题中是不好的做法,还是应该将它放在下面?我应该将这些链接放在 html 页面的左侧,你觉得呢?
<nav> 放在标题中似乎是W3C 可以接受的自然做法,请看最后一个示例:w3.org/wiki/HTML/Elements/header