HTML5是目前超文本标记语言 (Hyper Text Markup Language)最新修订版。HTML可以理解为一门程序语言,HTML5字面的意思,这门程序语言的第五次修订,也是HTML的第五个版本。
广义上,可以理解成HTML5、CSS、Javascript的组合,是Web前端开发的必备技能,简称H5技术。相比较之前版本,最大的变动就是除了对PC端个浏览器解析起来更加方便快捷外,更加适合移动端的Web开发,因此增加了很多标签和属性,比如<article>、<nav>、<block>等等。
HTML5的技术组成:
一般广义而言的HTML5则包含了HTML、CSS和JavaScript三个部分,而不只是第一印象仅仅HTML部分而已,在CSS 3和JavaScript层面也有许多的创新,让整个网页从布局到处理都更加给力,新囊括的技术让之前实现相当困难且安全性危机重重的功能变为了现实,
HTML5优越性
相对于之前版本,HTML5标签更加简练,在布局上更得体。以前主流table布局已经过渡到主流div布局,当前布局布局更加友好,有层次,对搜索引擎更加友好。比如<block><section>标记为块,这是以前根本就没有的,<article>标签用来标记文章内容,<nav>标记导航内容,新版增加的这些标签能够让布局变得更加清晰、简单。
HTML5前所未有的支持移动设备上的多媒体,成为一大特性,在移动设备上产生了重大影响。引入了新的语法功能来支持这一功能,例如视频,音频和画布标签。HTML5还引入了新功能,可以真正改变用户与文档交互的方式。
HTML5新特性
1、离线功能
HTML5透过JavaScript提供了数种不同的离线储存功能,相对于传统的Cookie而言有更好的弹性以及架构,并且可以储存更多的内容。
WebStorage – 比Cookies更大、更有弹性的的储存
Web SQL Database – 本地端的SQL资料库
Indexed DB – Key-value的本地资料库
Application Cache – 将部分常用的网页内容cache起来
2、即时通讯
以往网站由于HTTP协定以及浏览器的设计,即时的互动性相当的受限,只能使用一些技巧来「模拟」即时的通讯效果,但HTML5提供了完善的即时通讯支援。
什么轮询、第三方的统统不要,自已来实现。
WebSocket – 即时的socket连线
Web Workers – 以往JavaScript都是single thread,透过Worker可以有多个运算
Notifications – 塬生的提示讯息,类似像OS X的Growl提示
3、文件以及硬件支持
不知道大家有没有发现,在Gmail等新的网页程式当中,已经可以透过拖拉的方式将档案作为邮件附件?这就是这部份HTML5档案的功能中的Drag’n Drop和File API。
Drag’n Drop – HTML元素的拖拉
File API – 读取使用者本机电脑的内容
Geolocation – 地理定位
Device orientation – 手持装置的方向
Speech input – 语音输入
4、语意化
语意化的网路是可以让电脑能够更加理解网页的内容,对于像是搜寻引擎的优化(SEO)或是推荐系统可以有很大的帮助。
New tags – 新的标籤,像是<header>、<section>等
Application tags – 也是新的标籤,像是<meter>、<progress>等
Microdata – 加入语意的资料让搜寻引擎等网站可以正确显示
Form type – <form>可以加入的type便多了,包含email和tel等属性,浏览器会协助进行资料格式的验证
5、多媒体
Audio、Video的标签支援以及Canvas的功能应该是大家对于HTML5最熟悉的部份了,也是许多人认为Flash会被取代的主要原因。
Audio video – 影片和音乐的塬生播放支援
Canvas – 2D的绘图功能支援
Canvas 3D – 3D的绘图功能支援
SVG – 向量图支援
6、CSS 3
CSS3支援了字体的嵌入、版面的排版,以及最令人印象深刻的动画功能。
Selector – 更有弹性的选择器
Webfonts – 嵌入式字体
Layout – 多样化的排版选择
Stlying radius gradient shadow – 圆角、渐层、阴影
Border background – 边框的背景支援
Transition – 元件的移动效果
Transform – 元件的变形效果
Animation – 将移动和变形加入动画支援
7、JavaScript
在比较JavaScript的基本面也新增了DOM的API、和浏览器上下页的纪录修改。
DOM API – 更方便的查询DOM元件
History API – 浏览器的上下页内容修改,方便AJAX可以保留浏览记录
HTML5的兼容问题
以前HTML的浏览器兼容是最大的问题,浏览器厂商很多,开发标准也不是完全一致,导致了兼容成为一个顽疾,给无数前端开发人员造成无数的麻烦。
目前为止,现代的主流浏览器都支持HTML5,那些不适应HTML5的已经退出了人们视野,就连顽固的IE系列浏览器也越来越好的支持。