【问题标题】:Is there a content element in HTML5?HTML5 中有内容元素吗?
【发布时间】:2013-06-18 13:44:21
【问题描述】:

我对这家伙使用的content 元素感到困惑。我找不到关于它的信息,据我所知,HTML5 中没有这样的东西。我错了吗?

迭代代码,来自此视频: http://youtu.be/eOG90Q8EfRo?t=15m1s

<article>
  <header> </header>
  <footer> </footer>
  <content> Is this correct? </content>
</article>

【问题讨论】:

  • 在 WHATWG HTML 生活(非)标准中有“类似这样的东西”,但它被称为 &lt;main&gt;,而不是 &lt;content&gt;。然而,在 W3C HTML5 标准中,&lt;main&gt; 仅用于 &lt;body&gt; 元素的主要内容,因此可能不适合按照视频所示标记文章的主要内容。
  • 但是使用&lt;main&gt; 替换div.mainContent 是否正确?
  • 我认为是这样,如下所示:developer.mozilla.org/en-US/docs/Web/HTML/Element/main,但只有 firefox 和 chrome 工作
  • 仅供参考,&lt;content&gt; 标签现在确实存在于 HTML 中。与 Shadow DOM 相关:developer.mozilla.org/en-US/docs/Web/HTML/Element/content

标签: html


【解决方案1】:

建议使用 &lt;content&gt; 元素,但 rejected 用于 HTML 5。

这就是试图教授规范草案的危险。

【讨论】:

  • 我认为&lt;content&gt; 没有将其纳入任何 HTML 草案。看起来更像是一厢情愿。
  • 链接文章中反对content 的论点并不是很好——从语义上讲,不在另一个标签中的所有内容都必须是content,这既不一定正确,也没有帮助.如果您要拥有headerfooter,那么拥有content 对我来说似乎是合乎逻辑和明智的
  • @nicodemus13 — 然后与规范编写者一起讨论。 (但页眉和页脚 内容,即使它们不是 main 内容)。
【解决方案2】:

有一个 &lt;content&gt; 元素,尽管它的使用方式与演示者在此问题中链接的视频中的使用方式不同。

HTML &lt;content&gt; 元素在 Shadow DOM 内部用作插入 观点。它不打算在普通 HTML 中使用。它与网络一起使用 组件。

视频中的演示者可能应该使用&lt;main&gt; 元素。

HTML &lt;main&gt; 元素表示文档或应用程序的&lt;body&gt; 的主要内容。主要内容区域由与文档的中心主题或应用程序的中心功能直接相关或扩展的内容组成。该内容应该是文档唯一的,不包括在一组文档中重复的任何内容,例如侧边栏、导航链接、版权信息、站点徽标和搜索表单(当然,除非文档的主要功能是作为搜索形式)。

【讨论】:

  • The &lt;content&gt; element is no longer defined in the Shadow DOM spec。它似乎已被&lt;slot&gt; 元素所取代,该元素旨在解决相同的问题,但采用不同的方式。
  • 注意:main 用于文档中的主要内容。每个文件只允许一个。因此,它不能像sectionheader 那样重复使用。它总体上是一个非常无用的 HTML 标记。但是,如果社区团结起来并开始将其用作部分/文章标签的主要内容,那可能会迫使他们更改规范。
  • 如果你想在headerfooter之间使用main作为主要的东西,还要注意main can't be put under an article tag。因此,对于主要内容是带有页眉和页脚的单篇文章的页面,您必须使用其他内容(即使在这种情况下只有一个main)。我想最好的选择是section。因此,对于仅包含一篇具有页眉和页脚的文章的页面,请使用:&lt;main&gt;&lt;article&gt; &lt;header&gt;&lt;section&gt;&lt;footer&gt; &lt;/article&gt;&lt;/main&gt;
【解决方案3】:

您可以使用&lt;main&gt;。它在 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>

——&lt;main&gt; @ MDN

【讨论】:

  • ...但是每个文档只能有一个主文件,因此这不适用于您可能需要页眉-内容-页脚组合的任何其他情况。
猜你喜欢
  • 2023-04-08
  • 1970-01-01
  • 2012-04-08
  • 2015-01-02
  • 1970-01-01
  • 2011-03-20
  • 2017-10-12
相关资源
最近更新 更多