3

非常简单快速的好习惯疑问。正如 W3C 所说,页眉页脚标签应该等同于它们的父,其中每个页眉页脚元素应该只有一个父,因此浏览器将那些特定的页眉页脚标签理解为页眉和页脚页面的特定部分

我的问题是,考虑到这一点,是否可以将body视为一个section,让我们正确地做这样的事情:

<body>
  <header></header>
  <footer></footer>

  <section>
    <header></header>
    <footer></footer>
  </section>
</body>

或者一个部分应该始终是一个实际的部分,正确的编码实践应该是这样的:

<body>
  <section>
    <header></header>
    <footer></footer>
  </section>

  <section>
    <header></header>
    <footer></footer>
  </section>
</body>

有什么建议吗?

4

2 回答 2

1

关于分段内容的文档对此有些不清楚。唯一划分内容的元素

定义页眉和页脚范围的内容

article, aside,navsection. 但是,blockquotebodydetailsfieldsetfiguretd,它们可以有自己的轮廓。

页面上还有一个例子

<body>
    <header>
    ...
    </header>
    <footer>
    ...
    </footer>
</body>

...所以所有这些都表明你很适合<header><footer>in一起去<body>,事实上,这与你有另一个部分不同,因为身体上的那些在轮廓上会比兄弟部分更高。

根据规范要记住的另一件事是,那些“分割根”元素不会影响其祖先的轮廓(尽管它们会低于祖先根)。

例如:

<section>
    <header>head</header>
    <fieldset>
        <header>head2</header>
    </fieldset>
</section>

在这种情况下,“head”和“head2”在文档大纲中处于同一级别,因为<fieldset>是切片。如果是<section>,它将嵌套在“头”节点中。您可以使用这个方便的网络实用程序来确认这一点

于 2013-08-28T17:21:21.750 回答
1

W3C HTML5 CR 说该body元素是一个分节,因此没有理由将其内容包装在一个section元素中。它甚至会产生误导,因为它描述了section元素,因此它“代表了文档或应用程序的通用部分。在这种情况下,部分是内容的主题分组,通常带有标题。” 将所有内容归为一组是没有意义的。

另一方面,没有证据表明浏览器实际上最不关心 , 等的“语义” sectionheader现代浏览器只是为它们设置了一些默认的呈现规则,仅此而已;较旧的浏览器会忽略标签,只是将内容呈现为好像标签不存在一样。

于 2013-08-28T17:22:34.393 回答