HTML5新特性以及删除的标签

161 阅读3分钟

HTML5新特性

  1. 标签语义化
  2. 音视频元素
  3. 新增了许多API
  4. websocket
  5. webstorage
  6. 控制缓存
  7. webworker
  • 标签语义化:HTML5的语义化指的是用正确的标签包含正确的内容,- 比如nav标签,里面就应该包含导航条的内容,而不是用做其他的用途。此外,HTML5除去了有问题的frame, center等
  • 音视频元素:video audio的加入使得不需要依赖外部插件即可引入多媒体内容
  • API加持:丰富的API大大提高了HTML的实用性
  • websocket:是一种通信协议,使得服务器于客户端可以实现全双工通信,意味着服务器端可以主动推送数据到客户端。
  • webstorage:非常重要的一个东西,webstorage虽然叫网络存储,其实是本地存储,存储在客户端中,包括了localStorage和sessionStorage。其中localStorage是持久化存储在客户端,只要用户不删除就一直存在,sessionStorage也存在客户端中,但是存在周期为当前会话,一旦浏览器针对该会话的页面关闭了,存储内容也就被删除了。关于cookie和webstorage的具体过程笔者将在后面的博文中详细陈述。
  • 控制缓存,即控制哪些文件需要缓存,哪些文件不需要缓存。
  • webworker 是运行在浏览器后台的js程序,是新开的js线程,可以用此线程进行复杂数据操作,进而将操作结果通过postMessage传回给主线程,这样即不会造成主线程堵塞了。但是要注意的是,webworker并没有赋予JS多线程的能力,JS本质还是单线程运行的。

为什么使用新标签

  1. HTML5新标签提升了语义性,大大方便了网页开发,提高了代码的可读性、可维护性和可移植性。
  2. 减少了用于CSS调用的class和id属性,这是因为在HTML5新标签中即可完成相应的功能。
  3. 对待搜索引擎更加友好,有利于信息的快速检索。

标签分类

HTML5的标签可以简单地分为四大类:结构标签,多媒体标签,web应用标签,列表标签。其中结构标签最为常用,用于程序员构造网页框架和定义容器;多媒体标签则赋予HTML使用多媒体的能力;web应用标签用于一些特殊场景;列表标签用于制作列表或者选项卡。

结构标签

这一部分主要有: article\header\footer\nav\section\aside(侧边栏)\hgroup(一个区块的相关信息)\figure(定义一组媒体内容以及他们的标题,用于包裹canvas,video等多媒体标签)\dialog(定义一个对话框)

注意:header\footer\section\aside\article这几个标签最好不要嵌套在里面使用,而应该放在最外面。 层级方面,header=section=footer放在最外面,aside\article\figure\hgroup\nav写在内层。

多媒体标签

多媒体标签有:video\audio\source\canvas\embed(定义外部可交互内容和插件) 多媒体标签使得不使用插件即可控制媒体文件,极大地提升了用户体验。

web应用标签

可以简单地分类为状态标签和任务进程标签

列表标签

  • datalist 为input标签定义一个下拉列表,配合option
  • details 定义一个元素的详细内容