使用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标签之外使用,作为页面或网站的附属信息部分。最常用的的使用形式是侧边栏。
增的结构标签
section元素
表示页面中的一个内容区块,比如章节、页眉、页脚或页面的其他部分。可以和h1、 h2...等元素结合起来使用,表示文档结构。
例:HTML5中<section>...</section>;HTML4中<div>...</div>。
article元素
表示页面中一块与上下文不相关的独立内容。比如一篇文章。
aside元素
表示article元素内容之外的、与article元素内容相关的辅助信息。
header元素
表示页面中一个内容区块或真个页面的标题。
hgroup元素
表示对真个页面或页面中的一个内容区块的标题进行组合。
footer元素
表示整个页面或页面中一个内容区块的脚注。一般来说,他会包含创作者的姓名、创作日期以及创作者的联系信息。
nav元素
表示页面中导航链接的部分。
figure元素
表示一段独立的流内容,一般表示文档主体流内容中的一个独立单元。使用figcaption元素为figure元素组添加标题。
figure 定义媒介内容的分组, 以及它们的标题。
figcaption 定义 figure 元素的标题。
例如:
<figure>
<figcaption>PRC</figcaption>
<p>The People's Republic of China was born in 1949</p>
</figure>
HTML4中常写作
<dl>
<h1>prc</h1>
<p>The People's Republic of China was born in 1949</p>
</dl>
新增的其他元素
video元素
定义视频。像电影片段或其他视频流。例:
<video src="movie.ogg" controls="controls">video元素</video>
HTML4中写法:
<object type="video/ogg" data="move.ogv">
<param name ="src" value="movie.ogv">
</object>
audio元素
定义音频。如音乐或其他音频流。例:
<audio src ="someaudio.wav">audio元素</audio>
html4中写法:
<object tyle="application/ogg" data="someaudio.wav">
<param name ="src" value= "someaudio.wav">
</object>
embed元素
用来嵌入内容(包括各种媒体)。格式可以是Midi、Wav、AIFF、AU、MP3,flash等。例:<embed src="flash.swf" />
HTML4中代码示例<object data="flash.swf" type="application/x-shockwave-flash"><object>
mark元素
主要用来在视觉上向用户呈现哪些需要突出显示或高亮显示的文字。典型应用搜索结果中高亮显示搜素关键字。
HTML5<mark></mark>;HTML4 <span></span>。
progress元素
表示运行中的进程,可以使用progress元素显示JavaScript中耗时时间函数的进程。等待中……、请稍后等。<progress></progress>。
time元素
表示日期或时间,也可以两者同时。
ruby元素
定义 ruby 注释(中文注音或字符)。
与 <ruby> 以及 <rt> 标签一同使用。ruby 元素由一个或多个字符(需要一个解释/发音)和一个提供该信息的 rt 元素组成,
还包括可选的 rp 元素,定义当浏览器不支持 "ruby" 元素时显示的内容。
<ruby>
汉朝<rt><rp>(</rp>西汉和东汉<rp>)</rp></rt>
</ruby>
rt元素
定义字符(中文注音或字符)的解释或发音。
rp元素
在 ruby 注释中使用, 以定义不支持 ruby 元素的浏览器所显示的内容。
wbr元素
表示软换行。与br元素的区别:br元素表示此处必须换行;wbr表示浏览器窗口或父级元素足弓宽时(没必要换行时),
不换行,而宽度不够时主动在此处换行。
canvas元素
定义图形,比如图表和其他图像。<canvas> 元素只是图形容器(画布),必须使用脚本来绘制图形。
<canvas id="myCanvas"></canvas>
<script type="text/javascript">
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
</script>
command元素 各版本浏览器支持有问题
表示命令按钮,比如单选按钮、复选框或按钮。
只有当 command 元素位于 menu 元素内时,该元素才是可见的。否则不会显示这个元素,但是可以用它规定键盘快捷键。。
<menu>
<command onclick="alert('Hello World')">
Click Me!</command>
</menu>
details标签
用于描述文档或文档某个部分的细节 。
可与 summary 标签配合使用,summary可以为 details 定义标题。
标题是可见的,用户点击标题时,会显示出 details。summary应该是details的第一个子元素。
<details>
<summary>迪丽热巴</summary>
<p>迪丽热巴(Dilraba),1992年6月3日出生于新疆乌鲁木齐市,中国内地影视女演员。</p>
</details>
fieldset标签
组合表单中的相关元素
fieldset 标签用于从逻辑上将表单中的元素组合起来。
legend 标签为 fieldset 元素定义标题。
<form>
<fieldset>
<legend>健康信息</legend>
身高:<input type="text" />
体重:<input type="text" />
</fieldset>
</form>
datalist标签
定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。
datalist 及其选项不会被显示出来,它仅仅是合法的输入值列表。使用 input 元素的 list 属性来绑定 datalist。
<input id="myCar" list="cars" />
<datalist id="cars">
<option value="BMW">
<option value="Ford">
<option value="Volvo">
</datalist>
datagrid标签 如何用?
定义可选数据的列表。datagrid 作为树列表来显示。
如果把 multiple 属性设置为 true,则可以在列表中选取一个以上的项目。
keygen标签 如何用?
标签规定用于表单的密钥对生成器字段。
当提交表单时,私钥存储在本地,公钥发送到服务器。
<form action="demo_keygen.asp" method="get">
Username: <input type="text" name="usr_name" />
Encryption: <keygen name="security" />
<input type="submit" />
</form>
output标签
定义不同类型的输出,比如脚本的输出。
<form action="form_action.asp" method="get" name="sumform">
<output name="sum"></output>
</form>
source标签
标签为媒介元素(比如 <video> 和 <audio>)定义媒介资源。
menu标签
定义菜单列表。当希望列出表单控件时使用该标签。注意与nav的区别,menu专门用于表单控件。
<menu>
<li><input type="checkbox" />Red</li>
<li><input type="checkbox" />blue</li>
</menu>
abbr: 标记一个缩写
The <abbr title="People's Republic of China">PRC</abbr> was founded in 1949.
显示结果
The PRC was founded in 1949.
mark标签
定义有记号的文本。
<mark>有记号的文本</mark>
progress 定义任何类型的任务的进度。
<progress min="0" max="100" value="60"></progress>
喽大家好,我是作者“未来”,本期分享的内容是Web前端系列课程,本系列总共29个阶段,坚持学习3个月蜕变为Web前端高手哦!
志同道合的小伙伴跟我一起学习交流哦!
1 html5文档类型和字符集
Html的发展历程:
文档类型设定
Document
HTML: sublime输入html:4s
XHTML: sublime输入html:xt
HTML5:sublime输入html:5或者!显示
2 查看手册及其新增标签
常用新标签(需掌握)
W3c手册中文官网:w3school
header:定义文档的页眉 头部
nav:定义导航链接的部分
footer:定义文档或节的页脚 底部
article:定义文章。
section:定义文档中的节( section区段)
aside:定义其所处内容之外的内容 侧边
datalist:定义选项列表。与 input元素配合使用该元素
Fieldset:可将表单内的相关元素分组,打包
3 datalist标签
有提示的下拉菜单
4 fieldset元素
fieldset元素可将表单内的相关元素分组、打包, 和legend搭配使用
5 HTML5新增 iInput表单(一)
6 HTML5新增 input表单(二)
7 新增占位符焦点多选属性
8 autocomplete属性
输入内容自动记录,方便下次快速输入
autocomplete必须满足两个条件才会起作用,一是必须有提交按钮,二是必须给给他名字,名字是什么无所谓,例如上面“123”
9 内容不能为空和获得焦点属性
required是提示输入内容不能为空
accesskey是一个快捷键属性,如上字母“s”,意思是在页面中按“ctrl+s”可以将光标移至此文本框
10 表单综合案例学生档案
显示效果如下(马赛克不算):
11 embed引入网上视频
多媒体标签 embed:定义嵌入的内容,embed可以用来插入各种多媒体,格式可以是Mid、Wav、AFF、AU、MP3等等。Url为音频或视频文件及其路径,可以是相对路径或绝对路径
因为兼容性问题,我们这里只讲解插入网络视频,后面H5会讲解audio和video视频多媒体。
12 播放音频 audio
autoplay是自动播放,controls是显示播放器,Loop是循环次数
每个浏览器的显示样式有所不同,每个浏览器支持的音频格式有所不同
Source可以提供多个音频格式,以便兼容各种浏览器。
13 播放视频 video
跟音频播放用法一样
看不懂的小伙伴不要气馁,后续的分享中将持续解释,只要你跟着我分享的课程从头到尾去学习,每篇文章看三遍,一个月后,回过头来看之前的文章就会感觉简单极了。
第一阶段HTML5的所有章节都已结束,下篇文章将分享《第二阶段 CSS3》小伙伴们不要错过哟!
*请认真填写需求信息,我们会在24小时内与您取得联系。