1

我是 html 的新手,所以对新的 html5 元素有点挣扎。

我有两种情况,我无法决定是否应该使用articleor section

场景一:

我有一个主页,其中包含许多不同的部分(我不一定指 html 部分)。举个例子,主页的 1 部分包含使用我的公司/网站的理由 - 它也有一个header.

这显示在主页上,但也显示在侧边栏中的许多其他页面上。如果我理解正确,这将属于article,但我不完全确定。

场景二:

我有一个常见问题页面。每个问题都有一个答案,并且可以将许多问题分组在一个特定的主题下。

那么,每个主题是 a section,每个问题/答案是 aarticle吗?也是header文章的问题吗?

任何帮助和建议将不胜感激。

4

4 回答 4

1

部分标签

标签定义文档中的部分。例如章节、页眉、页脚或文档的任何其他部分。

文章标签

标签指定独立的、自包含的内容。

一篇文章本身应该是有意义的,并且应该可以独立于网站的其余部分进行分发。

元素的潜在来源:

  • 论坛帖子
  • 博文
  • 新闻故事
  • 评论

一般评论

你使用什么仍然完全取决于你。尽管如此,您必须记住,并非所有浏览器都支持 HTML5 中包含的所有标签。例如,该标签将适用于所有最近的浏览器(Firefox、Chrome、Safari、Opera 和 IE9)。许多人仍然使用旧版本的 Internet Explorer(IE8 或 IE7 或 IE6),这意味着这些旧版浏览器不会知道这个标签。

这并不是那么糟糕,因为总有一种解决方案可以让它在所有浏览器中运行,例如您可以使用html5shiv脚本。

不知道标签或 HTML5 中的任何其他标签的浏览器将它们视为普通的内联元素。所以你应该包括以下css规则:

article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }

希望这个对你有帮助 :-)

于 2013-01-18T10:26:17.703 回答
0

对于常见问题解答,我建议section为每个主题(包括标题)使用一个描述列表dl,其中dt包含每个问题和一个或多个答案,每个都包含在它自己的dd. 您也可以省略sections 并使用嵌套的描述列表。

根据规范,这里的使用article没有意义。想想article博客文章等用例的元素。

我不明白你的第一个场景。

于 2013-01-18T10:20:55.000 回答
0

一般来说,anarticle用于不需要额外上下文来理解的自包含文档。Asection是页面的一部分,在该页面之外没有意义。

在您的主页上,您的部分看起来很可能是 html 部分。在您的其他页面中,您可能也希望将它们设为部分,而不是文章。如果它们只是小项目,您可能只想将它们包装在侧边栏中的 div 中,而根本不赋予它们任何特定的语义含义。

在您的常见问题解答页面上,我会说每个问题/答案都是一个article(例如,您可以想象它们是 RSS 提要中的单独文章)。主题不是真正的articlea 或 a section,我认为它们不需要任何特定的语义含义,因此您可以将它们分组在 div 中进行布局。问题不是文章的标题,标题用于可能包含导航等的页面标题。您的问题可能只是 aa head* ing * ( h1/ h2/ h3etc)。

不要过度使用 html5 元素,试图将任何块元素放入一个部分或文章中,只有在有真正的语义目的时才使用它们。页面布局应该只用好的旧div的。

有一篇很好的文章在这里更深入地解释了这些差异。

于 2013-01-18T10:22:09.313 回答
0

通常 asection应该是 a 的子节点article

W3C 标准说(我强调):

article 元素表示文档、页面、应用程序或站点中的自包含组合,并且原则上是可独立分发或可重复使用的,例如在联合中。这可以是论坛帖子、杂志或报纸文章、博客条目、用户提交的评论、交互式小部件或小工具,或任何其他独立的内容项目。

因此,当在不提供任何上下文的情况下将文本发布到其他地方有意义时,您可以将其设为文章。

场景 1 当文本打算出现在您网站的不同页面上时,它似乎满足了这个条件。

场景 2 通常,每个常见问题解答问题/答案对都是关于一个单独的主题并且本身就有意义,因此它们将是一篇文章。但是,如果您的问题的结构只有在一个接一个地阅读时才有意义,那么您可以将它们分成几个部分。

顺便说一句:这个答案将是一个部分,因为不阅读您的问题就没有意义。他们将共同组成一篇文章。

于 2013-01-18T10:25:43.740 回答