我有一个由各种“部分”组成的页面,如视频,新闻提要等。我有点困惑如何用HTML5表示这些。目前我有他们作为HTML5 <节>s,但进一步检查,看起来他们更正确的标签将是<文章>。有人能给我解释一下吗?

这些东西都不是真正意义上的博客文章或“文档”,所以很难看出该应用哪个元素。

编辑:我选择使用文章标签,因为它似乎是一个容器标签的不相关的元素,我猜我的“部分”是。然而,实际的标签名称文章似乎很有误导性,尽管他们说HTML5的开发更多地考虑了web应用程序,但我发现很多标签更以博客为中心/基于文档。

无论如何,谢谢你的回答,这似乎是相当主观的。


当前回答

我喜欢坚持所使用词语的标准含义:An article将适用于,嗯,文章。我将博客文章、文档和新闻文章定义为文章。另一方面,section指的是布局/ux项:边栏、页眉、页脚都是section。然而,这完全是我个人的解释——正如您所指出的,这些元素的规范并没有很好地定义。

为了支持这一点,w3c将article元素定义为可以独立存在的内容部分。一篇博客文章可以作为一种有价值和可消费的内容。然而,头文件则不会。

这里有一篇有趣的文章,讲的是一个人疯狂地试图区分这两种新元素。这篇文章的基本观点,我也认为是正确的,就是尝试使用你认为最能代表它所包含内容的元素。

What’s more problematic is that article and section are so very similar. All that separates them is the word “self-contained”. Deciding which element to use would be easy if there were some hard and fast rules. Instead, it’s a matter of interpretation. You can have multiple articles within a section, you can have multiple sections within and article, you can nest sections within sections and articles within sections. It’s up to you to decide which element is the most semantically appropriate in any given situation.

这里有一个很好的答案来回答同样的问题

其他回答

下面的流程图可以帮助您选择各种语义HTML5元素之一:

部分

使用它来定义布局的一个部分。可以是中间,左边,右边 等. . 这有一个与其他元素联系的意思,简单地说,它是依赖的。

文章

在你有独立内容的时候使用这个方法。 Article有其完整的含义。

我将使用<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>

如您所见,这些部分仍然彼此相关,但只要它们在将它们分组的块中。章节不必在文章内部。它们可以在一个文档的主体中,但是当整个文档是一篇文章时,我在主体中使用章节。

e.g.

<body>
    <h1>Cars</h1>
    <p>text about cars</p>
    <section>
        <h1>Fast Cars</h1>
        <p>text about fast cars</p>
    </section>
</body>

希望这是有意义的。

同样,对于联合的内容,“鼓励作者使用article元素而不是section元素,如果联合元素的内容是有意义的。”

我的解读是: 我认为YouTube有一个评论区,在评论区里面有很多文章(在这种情况下是评论)。

因此,section就像一个存放文章的div-container。