HTML5到底是啥?
现在招聘前端信息上动不动就是熟练掌握h5开发,我有点费解,h5到底是啥?貌似平时也有用到H5的新标签和webSocket等技术,这样算是掌握h5开发了吗?查找资料后简单介绍下这个当红的技术。
¶html5介绍:
html5是超文本标记语言的第五代。
狭义上的HTML5:
- HTML4.0的升级版本
- HTML5+CSS3+新增JS API
- W3C制定的关于HTML技术约定的新规范
广义上的HTML5:
- HTML5行业的代名词
- 行业的技术标准
- 当前新技术的代名词
其实,有些招聘的要求会h5,就是会做那些微信扫码打开的炫酷宣传页面,比如活动页面,祝福贺卡之类的,当然,这些只是h5的一小部分内容.h5包括以下部分:
- 新增标签以及属性;
- CSS3的新特性;
- Canvas绘图;
- JavaScript的新增API(如重力感应、HTML5视音频等);
- 移动端。
¶新特性介绍:
1.新标签:
Html5新增了 27 个元素,废弃了 16 个元素,根据现有的标准规范,把 HTML5 的元素按优先级定义为结构性属性、级块性元素、行内语义性元素和交互性元素 4 大类。
结构性元素主要负责web上下文结构的定义
section:在 web 页面应用中,该元素也可以用于区域的章节描述。
header:页面主体上的头部, header 元素往往在一对 body 元素中。
footer:页面的底部(页脚),通常会标出网站的相关信息。
nav:专门用于菜单导航、链接导航的元素,是 navigator 的缩写。
article:用于表现一篇文章的主体内容,一般为文字集中显示的区域。
级块性元素主要完成web页面区域的划分,确保内容的有效分割。
aside:用于表达注记、贴士、侧栏、摘要、插入的引用等作为补充主体的内容。
figure:是对多个元素进行组合并展示的元素,通常与 ficaption 联合使用。
code:表示一段代码块。
dialog:用于表达人与人之间的对话,该元素包含 dt 和 dd 这两个组合元素, dt 用于表示说话者,而 dd 用来表示说话内容。
行内语义性元素主要完成web页面具体内容的引用和描述,是丰富内容展示的基础。
meter:表示特定范围内的数值,可用于工资、数量、百分比等。
time:表示时间值。
progress:用来表示进度条,可通过对其 max 、 min 、 step 等属性进行控制,完成对进度的表示和监事。
video:视频元素,用于支持和实现视频文件的直接播放,支持缓冲预载和多种视频媒体格式。
audio:音频元素,用于支持和实现音频文件的直接播放,支持缓冲预载和多种音频媒体格式。
交互性元素主要用于功能性的内容表达,会有一定的内容和数据的关联,是各种事件的基础。
details:用来表示一段具体的内容,但是内容默认可能不显示,通过某种手段(如单击)与 legend 交互才会显示出来。
datagrid:用来控制客户端数据与显示,可以由动态脚本及时更新。
menu:主要用于交互菜单(曾被废弃又被重新启用的元素)。
command:用来处理命令按钮。
2.CSS3的新特性;
CSS3实现圆角(border-radius),阴影(box-shadow)
对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)
transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);// 旋转,缩放,定位,倾斜等等变换
增加了更多的CSS选择器 多背景 rgba
在CSS3中唯一引入的伪元素是 ::selection.
媒体查询,多栏布局,弹性盒子
border-image
css3动画
3.canvas绘图:
Canvas是HTML5新增的组件,它就像一块幕布,可以用JavaScript在上面绘制各种图表、动画等。
没有Canvas的年代,绘图只能借助Flash插件实现,页面不得不用JavaScript和Flash进行交互。有了Canvas,我们就再也不需要Flash了,直接使用JavaScript完成绘制。
4.JavaScript的新增API:
requestAnimationFrame,相比于setInterval,性能更高的动画实现方法。
Page Visibility api,页面是否被隐藏,最小化的api接口。
Geolocation Api,地理位置。
File Api:文件操作。
web Worker:后台运行js代码,不会影响页面显示。
5.移动端:
借助于响应式开发,和更强大的js引擎,以及新的css实现,语义化,现在网页在移动端也可以表现的更好了。
¶后记
好久没写博客了,东拼西凑又攒了一篇。。。