2012-07-12 87 views
1

我需要从下面的布局编写HTML5语义标记。HTML5语义标记

到目前为止,我的HTML代码如下。我不确定我拥有的是语义。有什么建议?

<body> 
    <header> 
     <h1>slogen+logo</h1> 
    </header> 
    <div id="login_or_register"></div> 
    <nav><!--main menu--> 
     <ul> 
      <li>home</li> 
      <li>about us</li> 
      <li>deals</li> 
     </ul> 
    </nav> 

    <select id=sort> 
     <option>new</option> 
     <option>price</option> 
     <option>discount</option> 
    </select> 

    <select id=main_sort_by> 
     <option>usa</option> 
     <option>england</option> 
     <option>japan</option> 
    </select> 

    <select id=main_sort_by> 
     <option>category1</option> 
     <option>category2</option> 
     <option>category3</option> 
    </select> 
    <section> 
     <article> 
      <p>our price</p> 
      <p>price</p> 
      <p>details</p> 
      <header> 
       <h1>deal title</h1> 
       <h2>deal description</h2> 
       <img src="" id="deal_image"/> 
      </header> 
      <footer> 
       <p>items left</p> 
       <p>end of the deal</p> 
      </footer> 
     </article> 

     <article> 
      <p>our price</p> 
      <p>price</p> 
      <p>details</p> 
      <header> 
       <h1>deal title</h1> 
       <h2>deal description</h2> 
       <img src="" id="deal_image"/> 
      </header> 
      <footer> 
       <p>items left</p> 
       <p>end of the deal</p> 
      </footer> 
     </article> 


    </section> 

    <aside> 
     <div id="newsletter"></div> 
     <div id="rss"></div> 
    </aside> 

    <footer></footer> 
</body> 

Layout I am trying to markup

+0

看起来没事!也许给文章添加标题 – 2012-07-12 12:07:03

回答

1

我确实有一些意见可以提供。首先,你不应该只需要一个header标签。也许登录或注册可以在那里,取决于你的设计。

您正在使用article,现在这可能是因为我不知道这里会包含哪些内容,但是只有在每个内容都有意义时才使用此标记,例如。在一个RSS阅读器中。如果没有问题,请使用section标签。

您正在使用section标记纯粹作为articles的包装。您不应该仅将此标签用作容器,文档大纲算法不会为此部分选取标题,因此div就足够了。

我发现对html5语义有用的工具之一是html5 Outliner,这将帮助您查看应该或不应该使用分段元素的位置。

这是一个很棒resource on html5 semantics

+0

尼尔,谢谢。我会去html5 outliner并查看它:) – ofir 2012-07-15 16:29:44

+0

如果它对你有帮助,你能接受答案吗? – Neil 2012-07-15 21:37:13

0

这对我来说很好。

也许在容器中包装<select>