使用DIV+CSS布局时,我们需要通过为div命名的方式,来区分网页中不同的模块。在HTML5中布局方式有了新的变化,HTML5中增加了新的结构标签,如header标签、nav标签、article标签等,具体介绍如下。
1. header标签
HTML5中的header标签是一种具有引导和导航作用的结构标签,该标签可以包含所有通常放在页面头部的内容。header标签通常用来放置整个页面或页面内的一个内容区块的标题,也可以包含网站Logo图片、搜索表单或者其他相关内容。其基本语法格式如下:
<header>
<h1>网页主题</h1>
...
</header>
在上面的语法格式中,<header></header>的使用方法和<div class="header"></div>类似。
注意:
在HTML网页中,并不限制header标签的个数,一个网页中可以使用多个header标签,也可以为每一个内容块添加header标签。
2. nav标签
nav标签用于定义导航链接,是HTML5新增的标签,该标签可以将具有导航性质的链接归纳在一个区域中,使页面元素的语义更加明确。nav标签的使用方法和普通标签类似,例如下面这段示例代码:
<nav>
<ul>
<li><a href="#">首页</li>
<li><a href="#">公司概况</li>
<li><a href="#">产品展示</li>
<li><a href="#">联系我们</li>
</ul></nav>
在上面这段代码中,通过在nav标签内部嵌套无序列表ul来搭建导航结构。通常一个HTML页面中可以包含多个nav标签,作为页面整体或不同部分的导航。具体来说,nav标签可以用于以下几种场合。
● 传统导航条:目前主流网站上都有不同层级的导航条,其作用是跳转到网站的其他主页面。
● 侧边栏导航:目前主流博客网站及电商网站都有侧边栏导航,目的是将当前文章或当前商品页面跳转到其他文章或其他商品页面。
● 页内导航:它的作用是在本页面几个主要的组成部分之间进行跳转。
● 翻页操作:翻页操作切换的是网页的内容部分,可以通过点击“上一页”或“下一页”切换,也可以通过点击实际的页数跳转到某一页。
除了以上几点以外,nav标签也可以用于其他导航链接组中。需要注意的是,并不是所有的链接组都要被放进nav标签,只需要将主要的和基本的链接放进nav标签即可。
3. footer标签
footer标签用于定义一个页面或者区域的底部,它可以包含所有放在页面底部的内容。在HTML5出现之前,一般使用<div class="footer"></div>标签来定义页面底部,而现在通过HTML5的footer标签可以轻松实现。与header标签相同,一个页面中可以包含多个footer标签。
4. article标签
article标签代表文档、页面或者应用程序中与上下文不相关的独立部分,该元素经常被用于定义一篇日志、一条新闻或用户评论等。一个article标签通常有它自己的标题(可以放在header标签中)和脚注(可以放在footer标签中),例如下面的示例代码。
<article>
<header>
<h1>秋天的味道</h1>
<p>你想不想知道秋天的味道?它是甜、是苦、是涩...</p>
</header>
<footer>
<p>著作权归XXXXXX公司所有...</p>
</footer></article>
需要注意的,在上面的示例代码中还缺少主体内容。主体内容通常会写在header和footer之间,通过多个section标签进行划分。一个页面中可以出现多个article标签,并且article标签可以嵌套使用。
5. section标签
section标签表示一段专题性的内容,一般会带有标题,主要应用在文章的章节中。例如,新闻的详情页有一篇文章,该文章有自己的标题和内容,因此可以使用article标签标注,如果该新闻内容太长,分好多段落,每段都有自己的小标题,这时候就可以使用section标签把段落标注起来。在使用section标签时,需要注意以下几点:
● section不仅仅是一个普通的容器标签。当一个标签只是为了样式化或者方便脚本使用时,应该使用div标签。
如果article标签、aside标签或nav标签更符合使用条件,那么不要使用section标签。
● 没有标题的内容模块不要使用section标签定义。
值得一提的是,在HTML5中,article标签可以看作是一种特殊的section标签,它比section标签更具有独立性,即section标签强调分段或分块,而article标签强调独立性。如果一块内容相对来说比较独立、完整时,应该使用article标签;但是如果想要将一块内容分成多段时,应该使用section标签。
6. aside标签
aside标签用来定义当前页面或者文章的附属信息部分,它可以包含与当前页面或主要内容相关的引用、侧边栏、广告、导航条等有别于主要内容的部分。aside标签的用法主要分为两种:
● 被包含在article标签内作为主要内容的附属信息。
● 在article标签之外使用,作为页面或网站的附属信息部分。最常用的的使用形式是侧边栏。
绍了在HTML5中具体新增了哪些结构元素,以及这些元素的定义和使用方法。
接下来看一下在HTML5中进行总体页面布局的时候,具体应该怎样运用这些结构元素。
大纲
通过使用新的结构元素,HTML5的文档结构比大量使用div元素的HTML 4的文档结构更加清晰明确。
如果再规划好文档结构的大纲,就可以创建出对于阅读者或屏幕阅读程序来说,都很清晰易读的文档结构。
所谓大纲,简单来说就是文档中各内容区块的结构编排。
内容区块可以使用标题元素(hl~h6)来展示各级内容区块的标题。
综合运用各级内容区块的标题创建好文档的目录后,该目录就成为一个大纲了。
关于内容区块的编排,可以分为“显示编排”与“隐式编排”两种方式。
显式编排
显式编排是指明确使用section等元素创建文档结构,在每个内容区块内使用标题(h1~h6、hgroup等),显式编排内容区块的代码如下。
<body>
<h1>网页内容区块的标题</h1>
<p>网页内容区块的正文</p>
<section>
<h2>section 内容区块的标题</h2>
<p>section 内容区块的正文</p>
</section>
</body>
隐式编排
隐式编排是指不明确使用section等元素,而是根据页面中所书写的各级标题(h1~h6、hgroup等)
把内容区块自动创建出来。因为HTML5分析器只要看到书写了某个级别的标题,
就会判断存在相对应的内容区块。隐式编排内容区块的代码如下。
<body>
<h1>网页内容区块的标题</h1>
<p>网页内容区块的正文</p>
<!--分析器根据h2 等元素判断生成内容区块-->
<h2>section 内容区块的标题</h2>
<p>section 内容区块的正文</p>
</body>
两种编排方式进行对比,很明显,显式编排更加清晰、易读。
TML5的基本结构和它的语法变化
HTML5的兼容性,它可以在老版本的浏览器上正常运行。
HTML5的实用性,内部没有特别的复杂功能,只是封装了一些常用的简单功能。
HTML5的基本结构,文档的根元素依然是<html.../>,这个不变。在<html.../>元素里包含<head.../>和<body.../>两个子元素。<head.../>元素主要定义HTML5的页面头,<title.../>元素用于定义页面标量,除了这些在<head.../>元素中定义meta、样式单等信息;<body.../>元素用于定义页面主体,包括页面的文本内容和大部分标签。
HTML5的语法变化
1、标签不再区分大小写
在HTML5中如:<P>程序世界</p>元素的开始标签和结束标签大小写不匹配,但是这符合HTML5的规范。
2、元素可以省略结束标签
HTML5非常宽容,它允许部分HTML元素省略标签,甚至允许同时省略开始标签和结束标签。具体来说有一下三种:
(1)空元素语法的元素:area base br col command embed hr img input keygen link mate param source wbr 。
这些空元素标签不允许将开始标签和结束标签分开定义。
(2)可以省略结束标签的元素:colgroup dt dd li optgroup option p rt rp thead tbody tfoot tr td th。
这种语法纯属向以前那些不规范的HTML页面妥协。
(3)可以省略全部标签的元素:html head body tbody。
3、允许省略属性值的属性
XHTML要求所有元素的所有属性名都应该小写,所有属性都必须指定属性值,不能简写,而且所有属性值必须使用引号引起来。
HTML5相比起来比较松散,允许部分“标志性”的属性可以省略属性值。当然也支持那种严格的语法。
4、允许属性值不使用引号
传统的XHTML按XML规范对属性值进行要求,要求所有的属性值都必须用引号引起来,但HTML5允许直接给出属性值,即使不放在引号中也是正确的。
*请认真填写需求信息,我们会在24小时内与您取得联系。