我有一个由各种“部分”组成的页面,如视频,新闻源等。我有点困惑如何用HTML5表示这些。目前我将它们作为HTML5 <section>
,但在进一步检查时,它们看起来更正确的标记为<article>
。谁能为我解释一下这个问题?
这些东西都不是真正意义上的博客文章或“文档”,所以很难看出应用哪个元素。
干杯
编辑:我选择使用article
标记,因为它似乎是不相关元素的容器标记,我猜我的“部分”是。然而,实际的标记名称文章似乎颇具误导性,虽然他们说HTML5已经开发时更多地考虑了web 应用程序,但我发现许多标记更加以博客为中心/基于文档。
无论如何,谢谢你的答案似乎是相当主观的。
答案 0 :(得分:115)
听起来你应该在<article>
标签和<section>
标签文章中的条目中包装每个“部分”(如你所说)。
HTML5 spec说(部分):
section元素表示文档的通用部分或 应用。在这方面,一节是一个主题分组 内容,通常带有标题。 [...]
部分的例子是章节,各种标签页 选项卡式对话框,或论文的编号部分。网络 网站的主页可以分为几个部分进行介绍, 新闻和联系信息。
注意:鼓励作者使用article元素而不是 当联合内容时,有意义的部分元素 元素。
对于Article
文章元素代表一个独立的组合 文档,页面,应用程序或站点,原则上, 可独立分发或可重复使用的,例如在联合。这个 可以是论坛帖子,杂志或报纸文章,博客文章, 用户提交的评论,交互式小部件或小工具,或任何 其他独立的内容项目。
我认为OP中所谓的“部分”符合文章的定义,因为我可以看到它们可独立分发或可重复使用。
更新:latest editors draft for HTML 5.1中article
的一些小文字更改(斜体更改):
article元素代表完整,或自包含, 文档,页面,应用程序或站点中的组合,即 原则,可独立分发或可重复使用,例如在 联合。这可以是论坛帖子,杂志或报纸 文章,博客条目,用户提交的评论,交互式小部件 或小工具,或任何其他独立的内容项。
答案 1 :(得分:114)
在W3 wiki page about structuring HTML5中,它说:
<section>
:用于将不同的文章分组到不同的目的或 科目,或定义单篇文章的不同部分。
然后显示我清理过的an image:
它还介绍了如何使用<article>
标记(来自上面的相同W3链接):
<article>
与<section>
有关,但明显不同。 而<section>
用于分组内容的不同部分或 功能<article>
用于包含相关个人 独立的内容,例如个人博客文章,视频, 图像或新闻。可以这样想 - 如果你有一些 内容项目,每个项目都适合阅读他们的内容 拥有,并且在RSS中作为单独的项目联合是有意义的 饲料,然后<article>
适合标记它们。在我们的示例中,
<section id="main">
包含博客条目。每个博客 条目适合作为RSS提要中的项目进行联合,并且 因此,在独立阅读时,它会有意义<article>
对他们来说是完美的:
<section id="main">
<article>
<!-- first blog post -->
</article>
<article>
<!-- second blog post -->
</article>
<article>
<!-- third blog post -->
</article>
</section>
简单吧?请注意,您也可以在里面嵌套部分 文章,这样做是有意义的。例如,如果每一个 这些博客文章具有一致的不同部分结构 你也可以在你的文章中放置部分。它可以看起来 像这样的东西:
<article>
<section id="introduction">
</section>
<section id="content">
</section>
<section id="summary">
</section>
</article>
答案 2 :(得分:40)
我将<article>
用于与页面上其他块完全无关的文本块。
另一方面,<section>
将是一个分隔文件,用于分隔彼此相关的文档。
现在,我不确定你的视频,新闻源等有什么,但这里有一个例子(没有真正的对或错,只是我如何使用这些标签的指南):
<article>
<h1>People</h1>
<p>text about people</p>
<section>
<h1>fat people</h1>
<p>text about fat people</p>
</section>
<section>
<h1>skinny people</p>
<p>text about skinny people</p>
</section>
</article>
<article>
<h1>Cars</h1>
<p>text about cars</p>
<section>
<h1>Fast Cars</h1>
<p>text about fast cars</p>
</section>
</article>
正如您所看到的,这些部分仍然相互关联,但只要它们位于将它们分组的块中。章节DONT必须在文章内。它们可以在文档的正文中,但是当整个文档是一篇文章时,我会使用正文中的部分。
e.g。
<body>
<h1>Cars</h1>
<p>text about cars</p>
<section>
<h1>Fast Cars</h1>
<p>text about fast cars</p>
</section>
</body>
希望这是有道理的。
答案 3 :(得分:17)
我喜欢坚持使用的单词的标准含义:article
适用于文章。我将博客文章,文档和新闻文章定义为articles
。另一方面,部分将引用layout / ux项:侧栏,页眉,页脚将是部分。然而,这是我个人的解释 - 正如您所指出的,这些元素的规范没有明确定义。
支持此功能,w3c将article
元素定义为可独立独立的内容部分。博客文章可以作为有价值和可消费的内容项目独立存在。但是,标题不会。
Here是一篇有趣的文章,关于一个人试图区分两个新元素的疯狂。这篇文章的基本观点,我也觉得是正确的,就是尝试使用你认为最能代表它所包含内容的元素。
更有问题的是文章和章节非常多 类似。所有将它们分开的是“自足”。 如果有一些困难,决定使用哪个元素会很容易 和快速的规则。相反,这是一个解释问题。你可以有 一个部分中的多篇文章,您可以有多个部分 在文章和文章中,您可以在部分和文章中嵌套部分 在部分内。由您决定哪个元素最多 在任何特定情况下都适用于语义。
Here对于SO
上的同一个问题是一个非常好的答案答案 4 :(得分:5)
栏目强>
mid
,left
,right
等。<强>文章强>
在您拥有独立内容的地方使用此功能。
文章有其完整的含义。
答案 5 :(得分:3)
一节基本上是h1
(或其他h
标签)的包装器以及与此对应的内容。 article
本质上是文档中重复或分页的文档...就像文档中的每篇博文都可以是文章,或者文档上的每条评论都可以是文章。
答案 6 :(得分:1)
另外,对于联合内容“当组合元素的内容时,鼓励作者使用article元素而不是section元素。”
答案 7 :(得分:1)
答案 8 :(得分:0)
我的解释是: 我认为YouTube有一个评论部分,在评论部分内部有多篇文章(在这种情况下是评论)。
因此,一个部分就像一个包含文章的div容器。
答案 9 :(得分:-1)
文章和部分都是HTML5的语义元素。 Section是网页的块级通用部分,但与我们的网页内容相关。 文章也是块级别,但文章是指网页的个人博客文章,评论。
条款和章节都应包含标题元素h2-h6。