<section>中的多个<article>元素应该放在<ul>标签中吗?</ul> </section> </article>

时间:2010-11-19 14:14:07

标签: html5 html-lists semantic-markup

我正在使用新的HTML5标签,而且我想知道以下哪两个选项更合适:

选项1

<article class="menu">
  <section>
    <header>
      <h4>Breakfast</h4>
    </header>
    <ul>
      <li>
        <article class="menu-item">Cereal</article>
      </li>
      <li>
        <article class="menu-item">Bacon & Eggs</article>
      </li>
      <li>
        <article class="menu-item">Waffles</article>
      </li>
    </ul>
  </section>
  <section>
    <header>
      <h4>Lunch</h4>
    </header>
    <ul>
      <li>
        <article class="menu-item">Peanut Butter & Jelly</article>
      </li>
      <li>
        <article class="menu-item">Ham Sammich</article>
      </li>
      <li>
        <article class="menu-item">Soup</article>
      </li>
    </ul>
  </section>
</article>

选项2

<article class="menu">
  <section>
    <header>
      <h4>Breakfast</h4>
    </header>
    <article class="menu-item">Cereal</article>
    <article class="menu-item">Bacon & Eggs</article>
    <article class="menu-item">Waffles</article>
  </section>
  <section>
    <header>
      <h4>Lunch</h4>
    </header>
    <article class="menu-item">Peanut Butter & Jelly</article>
    <article class="menu-item">Ham Sammich</article>
    <article class="menu-item">Soup</article>
  </section>
</article>

我目前正在使用带有标签的第一个选项,因为HTML 4.01中存在习惯,但在我看来,它们在HTML5中完全是多余的和不必要的。哪个更正确?

例如,在本文中,他们不使用标签: http://net.tutsplus.com/tutorials/html-css-techniques/html-5-and-css-3-the-techniques-youll-soon-be-using/

2 个答案:

答案 0 :(得分:2)

应该?不必要。能够?是。

我有一种情况,我正在使用&lt; figure&gt;执行类似于第一个示例的操作。在这种情况下,包含元素是&lt; nav&gt;。这些数字是带有照片和标题的项目列表。它是一个导航项目列表,也是数字。因此导航&gt; ...&gt; li>图。

当然,数字不是文章。但规格允许使用&lt; figure&gt;和&lt; article&gt;。 &lt; li&gt;的允许内容是“流量内容”,包括,

  

部分 nav 文章搁置标题页脚数字

其中。整个清单很长。所以这取决于你在特定情况下的感觉。

  • 这些文章摘要是否用作按日期排序的文章全文的导航?如果我想要&lt; li&gt;,我可能会做类似于我上面所做的事情。对于一个额外的容器或因为我喜欢它。
  • 这是文章的全文,而不是您认为的文章列表吗?省略清单。

答案 1 :(得分:0)

HTML无论什么版本只是数据集合的语义标记。如果使用列表拆分文章在语义上是有意义的,那么这是正确的方法。如果没有,则不正确。如果您只是担心通过网络发送的简约字节,那么您可以在任何版本的html中没有列表,并将其替换为段落标记。

通常,语义标记与呈现数据的方式有关,而不仅仅是数据。例如,如果要使用EasySlider之类的东西,则必须将项目放在列表中,因为这是它使用的约定。以不同方式呈现的相同数据可能需要完全不同的标记。