001: HTML5和HTML4究竟有哪些不同?

声明方面

  1. HTML5 文件类型声明(<!DOCTYPE>)变成下面的形式:
<!DOCTYPE html>

标准方面

  1. HTML5的文档解析不再基于SGML(Standard Generalized Markup Language)标准,而是形成了自己的一套标准。

标签方面

  1. 新增语义标签,其中包括
<header><footer><section><article><nav><hgroup><aside><figure>
  1. 废除一些网页美化方面的标签,使样式与结构分离更加彻底, 包括
<big><u><font><basefont><center><s><tt>
  1. 通过增加了<audio>、<video>两个标签来实现对多媒体中的音频、视频使用的支持。

属性方面

  1. 增加了一些表单属性, 主要是其中的input属性的增强
<!-- 此类型要求输入格式正确的email地址 -->
<input type=email >
<!-- 要求输入格式正确的URL地址  -->
<input type=url >
<!-- 要求输入格式数字,默认会有上下两个按钮 -->
<input type=number >
<!-- 时间系列,但目前只有 Opera和Chrome支持 -->
<input type=date >
<input type=time >
<input type=datetime >
<input type=datetime-local >
<input type=month >
<input type=week >
<!-- 默认占位文字 -->
<input type=text placeholder="your message" >
<!-- 默认聚焦属性 -->
<input type=text autofacus="true" >
  1. 其他标签新增了一些属性,
<!-- meta标签增加charset属性 -->
<meta charset="utf-8">
<!-- script标签增加async属性 -->
<script async></script>
  1. 使部分属性名默认具有boolean属性
<!-- 只写属性名默认为true -->
<input type="checkbox"  checked/>
<!-- 属性名="属性名"也为true -->
<input type="checkbox"  checked="checked"/>

存储方面

  1. 新增WebStorage, 包括localStorage和sessionStorage

  2. 引入了IndexedDB和Web SQL,允许在浏览器端创建数据库表并存储数据, 两者的区别在于IndexedDB更像是一个NoSQL数据库,而WebSQL更像是关系型数据库。W3C已经不再支持WebSQL。

  3. 引入了应用程序缓存器(application cache),可对web进行缓存,在没有网络的情况下使用,通过创建cache manifest文件,创建应用缓存,为PWA(Progressive Web App)提供了底层的技术支持。

总结

对于HTML5与HTML4的区别,这些基本的概念是要有印象的,也许现在还比较粗略,但后面会一步步追问细节,慢慢深入,达到知其然也其所以然的效果。

微信公众号: 前端三元同学

获取更多资料/联系加交流群