HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。

HTML 5不只是 HTML规范的最新版本,它是用于生成现代 Web内容的一系列相关技术的总称,其中最重要的三个技术是:HTML5核心规范(table)、 CSS (class style)和 JavaScript。

一.HTML5 的历史

HTML在1993年第一次作为互联网草稿发布,随后经历了2.0、3.2和4.0,直到1999年 HTML4.01版本稳定下来。慢慢地,随着发展,越来越严格的 XHTML取代了它。

XHTML 的兴衰史

自发布了 HTML4.01版以来,万维网联盟(W3C)掌握了 HTML规范,但该组织并未发布新标准,而是致力于 XHTML1.0,以及之后的 XHTML2.0。XHTML是基于 XML的 HTML版本,它致力于实现更严格和统一的编码规范,解决了以前的 HTML4.01版本中由于编码不规范而导致浏览器出现的各种奇怪行为。因此, Web开发人员非常支持 XHTML。XHTML最大的优点,就是迫使开发人员养成良好的编码习惯,摒弃混乱的 HTML书写,最终减少浏览器解析页面的困难,方便移植到其他平台。

然而,越想往好的方面发展,往往就会带来灾难性的后果,世界上的一切都是如此。XHTML2.0规定了更严格的错误处理规则,规定浏览器必须拒绝无效的XHTML2页面,强制 Web开发人员在不向下兼容、不改变 HTML遗留下来的奇怪行为和编码习惯的情况下编写绝对正确的代码。按道理,取其精华,去其糟粕应该是件好事。但如果这样的话,上亿个页面将不能兼容, Web开发人员的难度又增加了,而制定这一标准又太久,最终将被抛弃。

HTML5 的回归

W3C在2008年发布了HTML5的工作草案,XHTML2预定在2009年终止。在大约一年的时间里,HTML5规范进一步解决了很多实际问题,各大浏览器厂商开始升级产品支持HTML5。因此,浏览器的实验反馈,HTML5规范得到了不断的改进和完善,并很快融入到Web平台的实质性改进中。

和 XHTML2.0不同的是,开发HTML5规范的团队不会为了弥补以前 HTML的种种缺陷而去纠正它,而是尽可能地弥补 Web开发人员所需要的各种功能。其中包括更强大的CSS3,表单验证,音频视频,本地存储,地理定位,画作(画布),网络通讯等等。

二.HTML5 的功能

HTML5涵盖了哪些功能?主流浏览器是如何支持这些功能的?

1.HTML5 核心:

该部分主要组成为W3C官方规范,包括新的语义元素,新的增强的 Web表单,音频和视频,以及 JavaScript绘制的画布。大部分主流浏览器都对此有良好的支持;

2.曾经的 HTML5 标准:

这部分主要来源于原HTML5规范,大部分都需要JavaScript,支持Web应用开发。例如:本地数据存储、离线应用、消息传输;

3.非 HTML5 标准:

这部分通常指的是下一代功能。虽然从未进入HTML5标准,但人们还是会把它当作HTML5的一部分。这些包括最常见的CSS3,以及非常受欢迎的地理位置。

对于最为常用且实用的部分,基本上主流的浏览器都支持的比较好。而那些特殊需求的部分,则需要根据不同的浏览器检测才能知道是否支持自己想要的功能。

三.HTML5 的特点

在 HTML5 发展的同时,XHTML2.0 也在不断发展,那么到底是哪些特点导致 HTML5 取得最终的胜利呢?

1.向下兼容

对 XHTML2.0来说,需要遵循规则,否则不能显示,而HTML5则奉行“不破坏 Web”的原则。这就是说,以前存在的网页,仍然能够保持正确的显示。

HTML5规范当然是面向开发者,要求抛弃过去那些编码的坏习惯和废弃的标签元素;面向浏览器厂商,要求他们兼容 HTML遗留下来的所有东西,从而实现向下兼容。

2.用户至上

HTML 5遵循“用户至上”的原则,当出现具体问题时,首先考虑用户,其次考虑开发人员,然后再考虑浏览器厂商,最后才考虑制定规范。例如,开发者在编写代码时不严谨,导致本应出现警告或错误,但页面却正常显示。

3.化繁为简

HTML5 对比之前的 XHTML,做了大量的简化工作。具体如下:

(1)替换复杂的JavaScript具有浏览器的原生能力;

(2).DOCTYPE 被简化到极致;

(3).字符集声明被简化;

(4).简单强大的 API。

4.无插件范式

在HTML5出现之前,很多功能只能通过插件或者hack(比如画图API)来实现,但是HTML5本身就提供了这些支持。使用插件有许多问题,如下所示:

(1).插件安装容易失败;

(2).插件被浏览器或软件禁用屏蔽(如 Flash 插件);

(3).插件经常会被爆出漏洞被利用攻击;

(4).插件不容易与 HTML 文档其他部分集成(比如整体透明化等)。

5.访问通用性

这个原则分为三个概念:

(1).可访问性:比如更加利于残障人士的阅读方案;

(2).媒体中立:比如 HTML5 的媒体播放在不同设备或平台均能正常运行;

(3).支持所有语种:比如新元素。

6.引入语义

HTML 5引入一些标签元素来区分不同的意思和内容。该方法大大提高了代码编写者的可读性,并且便于代码区域查询。

7.引入原生媒体支持

HTML5的一个重大改进就是支持直接在浏览器中播放视频和音频文件,而这类功能之前都需要借助插件来实现。

8.引入可编程内容

HTML5 最大的变化就是引入了需要通过 JavaScript 编程才能完全的各种效果,而这些很多都是 HTML5 原生的。那么现在 HTML5 可以理解为 HTML + CSS + JavaScript + API 的总称。

以上就是关于HTML5的一些内容,谢谢大家观看。

HTML目前最新版本,HTML5最新版本介绍相关推荐

  1. mac 卸载php版本,mac 系统下删除旧的php版本安装最新的php版本及Xdebug

    这篇文章介绍的内容是关于mac 系统下删除旧的php版本安装最新的php版本及Xdebug,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的2015版的macpro 系统下默认安装了 ...

  2. CodeGear宣布最新的C++Builder版本 : C++Builder 2007

    CodeGear宣布最新的C++Builder版本 : C++Builder 2007 WoW,CodeGear昨天才宣布即将推出RoR的开发工具,今天我又看到CodeGear公开了C++Builde ...

  3. 最新3.1.1版本独立微信社群人脉系统社群空间站最新源码开源+详细教程

    功能介绍: 1.微信社群是一个集发布.展示社群信息.人脉推广的裂变工具/平台. 2.通过人脉广场,将商家信息通过名片进行展示,让资源对接.人脉推广更加便捷高效.为平台带来更多流量,让平台更有价值. 3 ...

  4. 如何在Cordova Android 7.0.0 以下版本集成最新插件 极光插件为例

    前提 Cordova Android 7.0.0开始改变了项目安卓平台的架构.新建一个空项目分别添加Android 6.4.0 和 Android 7.0.0平台: cordova platform ...

  5. Cloudera Manager安装之利用parcels方式(在线或离线)安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(Ubuntu14.04)(五)...

    如果大家,在启动的时候,比如遇到如下问题,则 明明已经授权了啊,怎么被拒绝,纳尼??? 解决办法 然后,再来这样,就可以了. 注意,在此之前. ubuntucmbigdata1机器上,则需要执行 bi ...

  6. 如何在Cordova Android 7.0.0 以下版本集成最新插件 极光插件为例 1

    2019独角兽企业重金招聘Python工程师标准>>> 前提 Cordova Android 7.0.0开始改变了项目安卓平台的架构.新建一个空项目分别添加Android 6.4.0 ...

  7. gradle 查看依赖类库版本_Android studio中查看依赖的第三方库的历史版本和最新版本...

    在日常开发过程中,我们通过会依赖很多的第三方库项目.类似这样: dependencies { compile 'com.android.support:support-v4:24.2.1' compi ...

  8. Cloudera Manager安装之利用parcels方式安装单节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(四)...

    前期博客 Cloudera Manager安装之Cloudera Manager 5.3.X安装(三)(tar方式.rpm方式和yum方式) 说在前面的话(看清楚就好!!!) 我这篇博客,是两种方式都 ...

  9. Cloudera Manager安装之利用parcels方式安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(五)...

    参考博客 Cloudera Manager安装之利用parcels方式安装单节点集群  Cloudera Manager安装之Cloudera Manager 5.3.X安装(三)(tar方式.rpm ...

最新文章

  1. html点击保持,如何保持:点击元素后的活动CSS样式
  2. phpMyAdmin安装图解教程
  3. JVM调优:定位垃圾的常用算法
  4. android studio中创建、切换svn分支
  5. AliRTC 开启视频互动 “零计算” 时代
  6. Android开发——搭建最新版本的Android开发环境
  7. DRUID连接池:java.sql.SQLRecoverableException: 关闭的语句
  8. WaveDrom 时序图编辑器
  9. 钱钟书论“反者道之动”
  10. keil编译后MCU需要的flash和RAM容量
  11. php手机接收验证码,乐信揭秘php手机接收短信验证码实现编程案例
  12. STM32 USB_SPI_FLASH 简易U盘设计
  13. Altium Designer PCB 插入图片logo的方法
  14. 在Windows10环境下安装RabbitMAQ、Erlang的坑
  15. 学英语最好的计算机美剧推荐,推荐四部经典的美剧!适合学习英语口语的美剧有哪些?...
  16. Rasbian系统 树莓派Python环境搭建
  17. ground truth 到底是什么意思???
  18. CFD解决一维标量问题(迎风、Lax-Wendroff、TVD、WENO5+3阶Runge-Kutta)
  19. Windows Server 2008 R2 活动目录的安装和配置
  20. 使用css3绘制太极

热门文章

  1. 传感器实训心得体会_传感器心得体会
  2. 画出传输门、三态门、开路门_(整理)第2章 门电路
  3. 计算机页面新建,电脑PS如何新建多个画布并使其显示在一个界面
  4. Android性能优化面试题集锦,实战篇
  5. android java join_java中的join用法
  6. 用计算机套路别人,套路计算器隐藏版
  7. 华为手机老是android自动升级,安卓手机系统升级!华为手机系统更新设置
  8. 苯乙炔单体/苯基卟啉/联吡啶衍生物/联吡啶/四苯甲烷/金刚烷单体/苯乙烯衍生物-齐岳
  9. php 生成条形码(支持任意php框架)
  10. 东北大学软件项目管理与过程改进复习提纲(2020)——第十一章《项目风险管理》