不要使用section作为div的替代品
在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样式)。在XHTML或者HTML4中,我们常看到这样的代码: <!-- HTML4-style code -->
<div id="wrapper">
<div id="header">
<h1>My super duper page</h1>
Header content
</div>
<div id="main">
Page content
</div>
<div id="secondary">
Secondary content
</div>
<div id="footer">
Footer content
</div>
</div> 而现在在HTML5中,会是这样: <sectionid="wrapper">
<header>
<h1>My super duper page</h1>
<!-- Header content -->
</header>
<section id="main">
<!-- Page content -->
</section>
<section id="secondary">
<!-- Secondary content -->
</section>
<footer>
<!-- Footer content -->
</footer>
</section> 这样使用并不正确:<section>并不是样式容器。section元素表示的是内容中用来帮助构建文档概要的语义部分。
基于上述思想,下面才是正确的使用HTML5
<body>
<header>
<h1>My super duper page</h1>
<!-- Header content -->
</header>
<div role="main">
<!-- Page content -->
</div>
<aside role="complementary">
<!-- Secondary content -->
</aside>
<footer>
<!-- Footer content -->
</footer>
</body>
只在需要的时候使用header header元素表示的是一组介绍性或者导航性质的辅助文字,经常用作section的头部 。 <!-- 请不要复制这段代码!此处并不需要header --> <article>
<header>
<h1>My best blog post</h1>
</header>
<!-- Article content -->
</article>
如果你的header元素只包含一个头部元素,那么丢弃header元素吧。既然article元素已经保证了头部会出现在文档概要中,而header又不能包含多个元素(如上文所定义的),那么为什么要写多余的代码。简单点写成这样就行了 <article>
<h1>My best blog post</h1>
<!-- Article content -->
</article>
精华推荐:
|