【发布时间】:2014-10-18 08:58:08
【问题描述】:
我第一次真正正确地查看 HTML5 标签,并提出了这个页面结构(对于博客网站):
<header>
<nav>
<ul>
<li>list 1</li>
<li>list 2</li>
</ul>
</nav>
</header>
<main>
<h1>Main page heading</h1>
<article><h1>Post 1</h1></article>
<article><h1>Post 2</h1></article>
<div id=“sidebar”>
<aside><h1>Aside heading</h1></aside>
</div>
</main>
<footer>
<aside><h1>Footer widget heading</h1></aside>
<aside><h1>Footer widget heading</h1></aside>
</footer>
当我通过一个 HTML 大纲工具 https://gsnedders.html5.org/outliner/ 运行它时,我得到了这个:
1. Main page heading
1. Untitled Section
2. Post 1
3. Post 2
4. Aside heading
5. Footer widget heading
6. Footer widget heading
不完全是我认为它应该概述的方式。
第一季度。不知道为什么我在那里得到“无标题部分”。玩弄表明这实际上与<nav> 有关。我应该担心“无标题部分”吗?就我而言,导航并不需要标题...
第二季度。显然我的页面结构并没有真正达到预期的效果。我想将<header> 和<footer> 与<main> 页面内容区分开来。我知道这些标签本身并不是分割元素,但如果不是,那么它们是做什么用的,尤其是在<header> 和<footer> 的情况下?我的理解是 <main> 应该用在你过去可能使用过 <div id="main"> 或 <div id="wrapper"> 的地方,并且应该表示页面的主要区域,这正是它正在做的事情。
我没有使用<section> 标签的原因是因为我知道它们不应该用作样式包装器,而更多地用于“页面的章节”。这个页面没有任何章节(唯一独立的东西已经用<article>和<aside>区分了)所以我不明白为什么我应该使用<section>。
我还尝试在<header> 和<footer> 中使用<h1> 标签,这似乎解决了我的问题。
<header>
<h1>Site title</h1>
<nav>
<ul>
<li>list 1</li>
<li>list 2</li>
</ul>
</nav>
</header>
<main>
<h1>Main page heading</h1>
<article><h1>Post 1</h1></article>
<article><h1>Post 2</h1></article>
<div id=“sidebar”>
<aside><h1>Aside heading</h1></aside>
</div>
</main>
<footer>
<h1>Footer heading</h1>
<aside><h1>Footer widget heading</h1></aside>
<aside><h1>Footer widget heading</h1></aside>
</footer>
大纲:
1. Site title
1. Untitled Section
2. Main page heading
1. Post 1
2. Post 2
3. Aside heading
3. Footer heading
1. Footer widget heading
2. Footer widget heading
但这并不是一个很好的解决方案,因为虽然页眉可能应该有一个标题,但我不想给我的页脚一个标题......任何替代建议将不胜感激。我只是想让事情尽可能简单,同时仍将标签用于正确目的。
感谢大家抽出时间阅读整个问题。如果我对这个大纲过于着迷,请告诉我。
【问题讨论】:
-
您使用的这个大纲工具是否被普遍认为是权威? This article on html5 outlines 提到没有关于工具上次更新时间的记录。您是否在其他大纲中检查过您的页面?
-
好点,我不确定。你有其他大纲的链接吗?已经尝试谷歌搜索,但没有找到任何确定的...
-
好的,谢谢...所以我认为在您看来,我在第一个示例中的结构基本上是合理的?
-
编写 html 时有相当多的个人编码风格,这意味着没有“一个真正的结构”。根据您的文档结构,我可能会将文章 H1 元素制作为 H2,将侧边和页脚小部件标题制作为 H2、H3 或 H4——在页面上下文中赋予标题适当的“语义”权重。跨度>