一、结构的精简
一个HTML5文档的最简单结构是:
<!DOCTYPE html> <html> <head> <meta charset=”UTF-8”> <title> </title> </head> <body> </body> </html>
二、整体文档结构化的代表标签
<header><section><footer><nav><article><aside>
三、文档结构和语义
1、页眉header、整个页面的头部
<header> <hgroup> <h1></h1> <h2></h2> </hgroup> </header>
2、正文article、博文或者新闻的展现
<div> <article> <img> <h2> </h2> <adderss> </adderss> <time> </time> <p> </p> </article> </div>
3、页脚footer、一般用于呈现页面底部的相关信息,可以放在body最下面,也可以放在article的最下面,只要记住它的作用是呈现其他信息,且不能相互嵌套
<footer> <p> </footer>
4、导航nav、可以出现在header,也可以出现在footer,也可以出现在section,只要保证语义化,即用作导航功能,如配合footer就可以表示为如下形式
<footer> <p> <nav> <ul> <li> </li> </ul> </nav> </footer>
5、侧边栏aside、用于页面上一些与主题联系不大而相对独立的区域,通常用于边栏,例如展示以下内容:快速链接、最多访问、登录注册等
<aside>
<h1---h6>
<nav>
….
</nav>
</aside>
6、文档中的节section、通常表示一段专题性的内容,一般会带有标题,应用的典型场景有文章的章节、标签对话框中的标签页、或者论文中有编号的部分,section可以说语义化强于div,但是弱于article,也可以这么说吧,article标签是特殊的section,section是特殊的div,语义递减。对于 section 和 article 的区分乍看比较难,其实重点就是看看这段内容脱离了整体是不是还能作为一个完整的、独立的内容而存在,这里面的重点又在完整身上。因为其实说起来 section 包含的内容也能算作独立的一块,但是它只能算是组成整体的一部分,article 才是一个完整的整体。
那么section所用到的结构可以如下几种形式:
1)
<aside> <section> 最多访问展现区域 </section> <section> 最多评论列表 </section> </aside>
2)
<article> <section> 正文一 </section> <section> 正文二 </section> </article>
通过上面可以看出,section可以应用的场景很多,但是需要注意的就是保证语义化。
四、文档大纲
通过第三点所列出的标签,可以对网站的大纲做一个总结,并不代表正确的大纲就是如此,但是可以起到借鉴作用。
<!DOCTYPE html> <html> <head> <meta charset=”UTF-8”> <title> </title> </head> <body> <div id=”content”> <header> <h1> <nav> <ul> <li> </li> ….. </ul> </nav> <section> </section> </header> <div id=”main”> <aside> </aside> <article> <section> </section> </article> </div> <footer> <p> <section> <nav> </nav> </section> </footer> </div> </body> </html>
当然了,页面结构的设计完全取决于开发人员,但是为了更好的体现HTML5的语义化原则,清楚的认识每个标签所代表的语义就很重要,这里所列出的文档结构只是一种代表,在<section>里面可以包含更多的新的标签,诸如<figure><video><hgroup>等,都需要根据需求来确定。
对于使用不支持HTML5的浏览器的用户,同样有解决的办法:
可以在<head></head>内部以注释的形式(这样的注释只对IE(包括那些国产的IE内核的浏览器)有效)引用这样一个js,它托管在Google开源服务器上,它可以让IE8及以下版本的ie也支持那些新的html5标签(包括IE6).