整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML5新增了哪些结构标签?

使用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标签之外使用,作为页面或网站的附属信息部分。最常用的的使用形式是侧边栏。

好程序员web前端分享HTML5中的nav标签,nav标签全称navigation,顾名思义,是导航的意思。根据HTML5的相关标准定义如下: "A section of a page that links to other pages or to parts within the page:

a section with navigation links." 中文翻译大概意思是”页面中的一个用来链接到其它页面或者当前页面的区域:一个含有导航链接的区域”。 这里非常清楚的定义了nav标签的功能,这里和header类似并没有指定必须是主导航,也可以是页面其它部分的子导航。如下:

1.<h3>gbin1.com文章列表</h3>

2.<nav>

3. <ul>

4. <li><a href="#html5">HTML5文章介绍</a></li>

5. <li><a href="#css3">CSS3文章介绍</a></li>

6. <li><a href="#jquery">jQuery文章介绍</a></li>

7. <ul>

8.</nav>

在上面这个例子中,我们看到这里只是一个区域的文章导航,同样也可以使用nav定义一个小型的页面内导航。 但并不是页面上的所有链接团体都需要放在nav标签内,它主要是由页面的主要导航块组成。例如,我们通常在网站的页脚里放一组链接,包括服务条款、网站介绍、版权声明等,这时,我们通常使用footer,而不是nav。

一个页面可可以包含多个nav标签,作为页面整体或者不同部分的导航。在下面的例子中,有两个nav标签,一个是网站的主体导航,另外一个是当前页面本身的辅助链接导航。

1.<h1>雨打浮萍</h1>

2.<nav>

3. <ul>

4. <li><a href="/">首页</a></li>

5. <li><a href="#">html+css</a></li>

6. ...more...

7. </ul>

8.</nav>

9.<article>

10. <header>

11. <h1>html5语义化标签之结构标签</h1>

12. <p><span>发表于</span>2011-12-22</p>

13. </header>

14. <nav>

15. <ul>

16. <li><a href="#">子导航</a></li>

17. <li><a href="#">子导航</a></li>

18. ...more...

19. </ul>

20. </nav>

21. <div>

22. <section id="public">

23. <h1>section里面仍然可以再用h1标签</h1>

24. <p>...more...</p>

25. </section>

26. <section id="destroy">

27. <h1>section里面仍然可以再用h1标签</h1>

28. <p>...more...</p>

29. </section>

30. ...more... </div>

31. <footer>

32. <p><a href="#">关于我们</a> |

33. <a href="#">友情链接</a> |

34. <a href="#">杂七杂八</a></p>

35. </footer>

36.</article>

37.<footer>

38. <p><small>© copyright 2011 </small></p>

</footer>

nav标签本身并不要求包含一个列表,它还可以包含其它内容形式。

1.<nav>

2. <h1>Navigation</h1>

3. <p>You are on my home page. To the north lies

4. <a href="/blog">my blog</a>, from whence the sounds of battle can be heard. To the east you can see a large mountain,

5. upon which many

6. <a href="/school">school papers</a>are littered. Far up thus mountain you can spy a little figure who appears to

7. be me, desperately scribbling a

8. <a href="/school/thesis">thesis</a>.</p>

9. <p>To the west are several exits. One fun-looking exit is labeled

10. <a href="http://games.example.com/">"games"</a>. Another more boring-looking exit is labeled

11. <a href="http://isp.example.net/">ISP™</a>.</p>

12. <p>To the south lies a dark and dank

13. <a href="/about">contacts page</a>. Cobwebs cover its disused entrance, and at one point you see a rat run quickly

14. out of the page.</p>

15.</nav>

录:

HTML5新结构标签

HTML5新其他标签

HTML5新input类型

HTML5新属性

HTML5高级应用

html4和html5对比:

Html4代表示例:

<div id=“header”></div>

<div id=“nav”></div>

<div class=“section”>

<div class=“article”></div>

</div>

<div id=“sideBar”></div>

<div id=“footer”></div>

Html5代码示例:

<header></header>

<nav></nav>

<section>

<article></article>

</section>

<aside></aside>

<footer></footer>

HTML5新结构标签:

<header></header>页头

<footer></footer>页脚

<nav></nav>导航

<section></section>内容区块

<article></article>文章区块

<aside></aside>article之外的信息

<hgroup></hgroup>标题组

<figure></figure>数据组

<figcaption></figcaption>数据组标题

<header></header>用法

<header>

<h1>网页标题</h1>

</header>

<article>

<header>

<h1>文章标题</h1>

</header>

<p>文章正文内容</p>

</article>

<footer></footer>用法

<article>

文章主体

<footer>

文章脚注

</footer>

</article>

<footer>

<ul>

<li>站内链接</li><li>站内链接</li><li>站内链接</li>

</ul>

</footer>

<nav></nav>用法

<nav>

<ul>

<li><a href=“#”>链接内容</a></li>

<li><a href=“#”>链接内容</a></li>

<li><a href=“#”>链接内容</a></li>

</ul>

</nav>

<section></section>用法

<section>

<h1>标题</h1>

<p>内容</p>

</section>

<article></article>用法

<article>

<header>

<h1></h1>

</header>

<footer>

<ul><li></li></ul>

</footer>

</article>

<aside></aside>用法

<article>

<h1>文章标题</h1>

<p>内容</p>

<aside>相关内容</aside>

</article>

<hgroup></hgroup>用法

<article>

<header>

<hgroup>

<h1>主标题</h1>

<h2>子标题</h2>

</hgroup>

</header>

<p>正文</p>

</article>

<figure></figure>用法

<figure>

<figcaption>标题</figcaption>

<img src=“a.jpg”>

<img src=“b.jpg”>

<img src=“c.jpg”>

</figure>

新元素标签追加样式:

说明:因为很多浏览器还未支持html5新元素,须对新元素追加如下说明

//追加block说明

article,aside,dialog,figure,footer,header,legend,nav,section{display:block}

另:ie8前的浏览器不支持css方法追加,须用如下方法:

<script>

document.createElement(“header”);

document.createElement(“nav”);

document.createElement(“article”);

document.createElement(“footer”);

</script>

HTML5新其他标签:

<video></video>视频

<audio></audio>音频

<embed></embed>多媒体

<mark></mark>标记

<time></time>时间

<wbr></wbr>软换行

<canvas></canvas>绘图

<video></video>用法

<video src=“test.ogg" controls="controls"></video>

<audio></audio>用法

<audio src=“test.wav"></audio>

<embed></embed>用法

<embed src=“test.swf"></embed>

<mark></mark>用法

<p>谢谢您光临本站 <mark>段先生</mark>。</p>

<time></time>用法

<p>早上 <time>9:00</time> 上班。</p>

<p>我在 <time datetime="2016-02-14">情人节</time> 有个约会。</p>

<wbr></wbr>用法

<p>学好网页设计必须要学会的软件有:

<wbr />photoshop<wbr />dreamweaver<wbr />flash。

</p>

<canvas></canvas>用法

语法:

<canvas></canvas>

注:canvas标签只是图形容器,您必须使用脚本来绘制图形。

使用范例:

<canvas id="myCanvas"></canvas>

<script>

var canvas=document.getElementById('myCanvas');

var ctx=canvas.getContext('2d');

ctx.fillStyle='#FF0000';

ctx.fillRect(0,0,80,100);

</script>

HTML5新input类型:

<input type=“email” />e-mail地址文本框

<input type=“url” />url地址文本框

<input type=“number” />数值文本框

<input type=“range” />数值范围文本框

日期相关类型:

<input type=“date” />

<input type=“month” />

<input type=“week” />

<input type=“time” />

<input type=“datetime” />

<input type=“datetime-local” />

HTML5新属性:

表单相关属性

链接相关属性

其他属性

全局属性

表单相关属性

autocomplete属性

autofocus属性 自动获得焦点属性

placeholder属性 提示信息属性

form属性 表单声明属性

required属性 内容检验属性

链接相关属性

<a><area>新加media属性

<area>新加hreflang属性

<link>新加sizes属性

<base>新加target属性

其他属性

<ol>新加reversed属性

<meta>新加charset属性

<menu>新加type和label属性

<style>新加scoped属性

<script>新加async属性

<iframe>新加sandbox,seamless,srcdoc

全局属性

可编辑内容属性contentEditable

页面可编辑属性designMode

隐藏元素属性hidden

拼写检查属性spellcheck

焦点获取属性tabindex

HTML5高级应用

绘图应用canvas

多媒体控制

表单验证

绘图应用canvas

用canvas绘制图形

用canvas绘制渐变色

用canvas绘制变形图形

绘制图像

动画效果

用canvas绘制图形——绘制矩形

获取canvas元素

获取2d图形(获取上下文)

设定绘图样式fillStyle,strokeStyle

设定线宽lineWidth

用canvas绘制图形——绘制路径

获取canvas元素

获取2d图形(获取上下文)

创建路径beginPath()

创建圆形路径arc(x,y,radius,startAngle,endAngle,anticlockwise)

关闭路径closePath()

用canvas绘制图形——绘制圆形

var canvas = document.getElementById("mycanvas");

var ctx = canvas.getContext("2d");

ctx.arc(150,100,100,0,(Math.PI/180)*360,true);

ctx.fillStyle="rgba(255,0,0,0.4)";

ctx.fill();

用canvas绘制图形——绘制三角

方法moveTo(x,y),lineTo(x,y):

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

context.strokeStyle="red";

context.moveTo(0,0);

context.lineTo(10,100);

context.lineTo(130,100);

context.lineTo(0,0);

context.stroke();

用canvas绘制图形——绘制弧线

方法bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y))

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

context.strokeStyle="red";

context.moveTo(0,0);

context.bezierCurveTo(10,0,100,0,100,100);

context.stroke();

用canvas绘制渐变色——绘制线性渐变

方法createLinearGradient(xStart,yStart,xEnd,yEnd);

方法addColorStop(offset,color);

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

var objLg = context.createLinearGradient(0,100,500,100);

objLg.addColorStop(0,"red");

objLg.addColorStop(0.5,"green");

objLg.addColorStop(1,"blue");

context.fillStyle=objLg;

context.fillRect(0,0,500,300);

用canvas绘制渐变色——绘制放射渐变

方法createRadialGradient(x0,y0,r0,x1,y1,r1);

方法addColorStop(offset,color);

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

var rg = context.createRadialGradient(50,50,0,50,50,50);

context.createR

rg.addColorStop(0,"red");

rg.addColorStop(1,"green");

context.fillStyle=rg;

context.fillRect(0,0,150,150);

用canvas绘制变形图形——平移

方法:translate(x,y);

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

context.translate(100,150);

context.fillStyle="red";

context.fillRect(0,0,200,200);

用canvas绘制变形图形——缩放

方法:scale(x,y);

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

context.scale(2,2);

context.fillStyle="red";

context.fillRect(0,0,10,10);

用canvas绘制变形图形——旋转

方法:rotate (angle);

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

context.rotate(Math.PI/180*5);

context.fillStyle="red";

context.fillRect(0,0,100,100);

绘制图像

方法:drawImage(image,x,y,w,h)

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

var image = new Image();

image.src="img.jpg";

context.drawImage(image,0,0,500,300);

图像平铺

方法:createPattern(image,type)

var obj = document.getElementById("mycanvas");

var context = obj.getContext("2d");

var img = new Image();

img.src="img.jpg";

var ptrn = context.createPattern(img,"repeat");

context.fillStyle=ptrn;

context.fillRect(0,0,2000,2000);

请私信我回复“666”,为严哥打Call~,还有更多惊喜哦~

....................................................................

我的微信公众号:UI严选 —越努力,越幸运