1

我可以使用类似的东西<section id="wrapper"></section>,但是因为我很迂腐,使用<wrapper></wrapper>作为我的 html 元素有什么问题吗?

我正在使用 html5 shiv 和modernizer,它确实工作得很好但是我只是想知道这样做是否有什么特别的错误。

4

3 回答 3

3

好吧,HTML 中没有wrapper元素,所以是的,那是错误的。此外,该<section>元素具有特定的语义含义,不应用作通用元素包装器。具体来说,它表示文档大纲中的一段内容,可能带有相应的页眉和页脚。<div>多年来一直在做包装工作。

于 2013-05-21T01:04:24.767 回答
1

创建您自己的标签会给您一个无效的 HTML 5 文档。它可能有效,但有广泛的影响(从解析器的期望到浏览器的默认样式表)。

正如其他答案所述,这两者都不是很好的用途section

建议div. 通过指定一个类名,您是在声明该元素(尽管有些通用)属于该类型(几乎就像在面向对象的语言中实例化一个类的实例一样)。

您还可以添加自定义数据属性以提供有关元素的更多信息。这些是完全有效的,并且是(强调我的):

...旨在存储页面或应用程序私有的自定义数据, 没有更合​​适的属性或元素。

<div class="wrapper" data-custom="foo"></div>
于 2013-05-21T01:06:06.683 回答
1

<section>元素代表页面中的一个部分,而不是您的布局。这非常重要,包括我在内的大多数 HTML5 初学者都感到困惑。

让我用另一个例子来说明你错在哪里:

<section id="banner">
</section>

横幅是布局的一部分,而不是网页内容。因此它们没有任何部分。它们必须<div>像以前在 HTML 4 中那样表示。

<section id="wrapper">...</section>

同样是错误的,因为包装器纯粹是特定于布局的任务,因此它不代表您页面上的任何特定内容。<sections>应该始终代表差异化的内容,而不是其他内容。

这是 HTML5 的示例,可以认为是有效的。

<div id="wrapper">

    <section id="mainArticle">

    </section>
    <section id="aboutAuthor">

    </section>
    <aside id="relatedArticles">

    </aside>

</div>
于 2013-05-21T01:12:48.953 回答