HTML5中是否有内容元素?

20
我对那个人使用的content元素感到困惑。我找不到有关它的信息,据我所知,在HTML5中没有这样的东西。我错了吗?
从这个视频中迭代代码: http://youtu.be/eOG90Q8EfRo?t=15m1s
<article>
  <header> </header>
  <footer> </footer>
  <content> Is this correct? </content>
</article>

1
在WHATWG HTML living(非)标准中有“类似于这样的东西”,但它被称为<main>而不是<content>。然而,在W3C HTML5标准中,<main>仅用于<body>元素的主要内容,因此可能不适合用于标记文章的主要内容,如视频所示。 - Alohci
但是使用<main>替换div.mainContent是正确的吗? - sewo
我认为是这样的,就像这里所示:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main,但只有Firefox和Chrome可以工作。 - sewo
4
FYI,现在HTML中确实存在一个<content>标签。它与Shadow DOM相关:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/content - Ajedi32
3个回答

22

在HTML 5中提出了一个<content>元素的建议,但被拒绝了。

这就是试图教授草案规范所面临的风险。


1
我认为<content>没有被纳入任何HTML草案中。看起来更像是一厢情愿的想法。 - Alohci
4
链接文章中反对“content”标签的论点并不是很有说服力——它们基本上是语义上的,即不在其他标签中的所有内容都必须是“content”,这既不一定正确,也没有帮助。如果你要有“header”和“footer”,那么对我来说,有“content”标签似乎是合乎逻辑和明智的。 - nicodemus13
1
@nicodemus13 — 那就去找规范的撰写者吧。(但页眉和页脚也是内容,即使它们不是main内容)。 - Quentin

13

有一个<content>元素,尽管它的用法与在此问题中链接到的视频中主持人使用的方式不同。

HTML <content>元素是在 Shadow DOM 中作为插入点使用的。它不适用于普通 HTML。它与 Web 组件一起使用。

视频中的主持人可能应该使用<main>元素。

HTML <main> 元素代表文档或应用程序的 <body> 的主要内容区域。 主要内容区域包括与文档的中心主题或应用程序的中心功能直接相关或扩展的内容。 此内容应该是文档的独特内容,不包括重复在一组文档中的任何内容,如侧边栏、导航链接、版权信息、站点标志和搜索表单(当然,除非文档的主要功能是作为搜索表单)。


7
“<content>”元素在Shadow DOM规范中不再定义。似乎它已被“<slot>”元素取代,后者旨在解决相同的问题,但采用了不同的方法。 - Alohci
注意:main用于文档的主要内容。每个文档只允许一个main,因此它不像sectionheader那样可重复使用。总体而言,这是一个相当无用的HTML标签。然而,如果社区汇聚起来并开始将其用作部分/文章标签的主要内容,那么这可能会迫使他们更改规范。 - Nick Manning
如果您想在headerfooter之间使用main作为主要内容,请注意main不能放在article标签下面。因此,对于主要内容是带有标题和页脚的单个文章的页面,您将不得不使用其他内容(即使在这种情况下只有一个main)。我认为最好的替代方案是section。因此,对于仅包含具有标题和页脚的一篇文章的页面,请使用:<main><article> <header><section><footer></article></main> - Ben J

11
你可以使用 <main> 标签。它在 HTML 中用于区分页面的主要内容。
像这样:
<!DOCTYPE html>
<html>
<head>
    ...head content
</head>

<body>
    <header>
    ...header content
    </header>

    <nav>
    ...nav menu
    </nav>

    <main>
        <section id="news">
            <article id="who-let-the-dog-out">
            ...article content
            </article>

            <article id="LottoSurprice">
            ...article content
            </article>
        </section>

        <section id="blog">
        ...section content
        </section>

        <aside id="advertisement">
        ...aside content
        </aside>
    </main>  <!-- end of page content -->

    <footer>
    ...footer content
    </footer>
</body>
</html>

<main> @ MDN


2
...但是每个文档只能有一个主函数,因此对于其他需要页眉-正文-页脚组合的情况,这种方法就不适用了。 - Domino

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接