我是否需要主要元素中的文章

时间:2016-05-02 23:52:55

标签: html5 semantic-markup

我想知道最好的做法是将article元素用于只有一篇文章由几段文字组成的网页(即没有文章的文章)。从语义上讲,在没有main的情况下将所有内容放在article元素中是否有任何问题?

为了说明,这有什么不妥之处:

<main>
  <h1>Lorem ipsum</h1>
  <p> Lorem ipsum dolor sit amet...</p>
  <p>Vivamus ut eros vulputate...</p>
  <p>In tincidunt a neque rutrum dapibus...</p>
</main>

或者这样做更好:

<main>
  <article>
  <h1>Lorem ipsum</h1>
  <p> Lorem ipsum dolor sit amet...</p>
  <p>Vivamus ut eros vulputate...</p>
  <p>In tincidunt a neque rutrum dapibus...</p>
  </article>
</main>

3 个答案:

答案 0 :(得分:2)

如果article中唯一的main,则不需要article; spec表示在这种情况下它是多余的。但是,拥有一个页面没有任何问题,它可以用于动态模板化和生成页面,并且您的文章始终使用class VendingMachine { let dispenser = Observable<Drink> // Notify all subscribed Observers that this machine dispensed a drink. func dispenseDrink(item: Drink) { dispenser.onNext(item) } } 元素进行模板化。

答案 1 :(得分:1)

main元素

您可以忽略main元素来做出此决定,因为它对部分/大纲没有影响。

您的摘要之间的差异

您的两个代码段会创建不同的文档大纲(you can test it with this Web app):

1. "Lorem ipsum"

VS

1. Document
  1.1 "Lorem ipsum"

您的第二个代码段没有为body(这是一个切片根元素)提供标题元素,因此会创建一个隐含标题(即文档)。

第一个代码段中的h1body的标题(即整个文档)。这在某些情况下是有意义的(例如,当它是仅包含文章的独立页面时),但对于典型的网站(包含全局导航,侧边栏等),您通常希望将您的站点名称作为文档标题。

TL;博士

如果您的网页是独立文档,而不是网站的一部分:

<body>

  <main>
    <h1>Lorem Ipsum</h1>
    <p></p>
  </main>

</body>

如果您拥有属于网站(使用全球导航)的典型网页:

<body>

  <h1>My site</h1>

  <main>
    <article>
      <h2>Lorem Ipsum</h2>
      <p></p>
    </article>
  </main>

  <nav>
  </nav>

</body>

答案 2 :(得分:0)

在查看MDN后,似乎没有必要。它有一些你不能做的事情。

<main>不得是<article><aside><footer><header><nav>元素的后代。 每个文档只能使用一个main元素“

这是我在查看“https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main

的页面

我会说如果它有效,那么你很好。