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的一些介绍,谢谢大家观看。

html5做一个相册_HTML5最新版本介绍相关推荐

  1. 一个html5页面,html5做一个黑板报页面

    html5做一个黑板报页面 我们结合移动设备(手机和平板电脑)的特性,介绍HTML5中新增的语义化标签元素,以及在移动Web浏览器下Web页面布局的知识及例子. 在HTML5标准添加的新元素中,用于常 ...

  2. html网页设计板报,html5做一个黑板报页面

    html5做一个黑板报页面 我们结合移动设备(手机和平板电脑)的特性,介绍HTML5中新增的语义化标签元素,以及在移动Web浏览器下Web页面布局的知识及例子. 在HTML5标准添加的新元素中,用于常 ...

  3. 如何做一个吸引人的自我介绍?

    自我介绍是面试.社交场合以及工作环境中常见的一项任务.它是展示你自己的机会,同时也是给他人留下深刻印象的重要时刻.一个吸引人的自我介绍可以帮助你与他人建立良好的连接,并在职业和社交交往中取得成功.那么 ...

  4. 如何做一个优秀完整的自我介绍?

    自我介绍是我们在各种场合中常常需要应对的一项重要任务,无论是面试.社交活动还是新的工作环境,一个出色的自我介绍能够给人留下深刻的印象,展示自己的能力和个性.然而,许多人在自我介绍时感到困惑,不知道该从 ...

  5. HTML目前最新版本,HTML5最新版本介绍

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

  6. php做一个网页的源代码,用HTML5做一个个人网站此文仅展示个人主页界面。内附源代码下载地址...

    下载说明: 1.再好的作品都不如将来要做的作品.在每一次的设计当中都能有所收获,才是设计师在web开发中最得益的. 2.本站所有作品均是杨青个人设计.如果发现模板有错,请尽情谅解. 3.如果遇到什么问 ...

  7. html5登录界面源代码_最新版本尤娜博客已更新源代码(速拿!!!)

    大家好,我是尤娜博客(una-boot)的作者树下魅狐,自2019年9月una-boot-1.0.0版本开源以来,陆续有热爱技术,钟爱技术写作的小伙伴为尤娜提出了宝贵的改进意见和建议,在此表示衷心的感 ...

  8. 用php做一个相册的程序,搭建自己的相册 50个免费的相册程序(上)

    搭建自己的相册 50个免费的相册程序(上) 2009-05-12 18:49:19来源:未知 阅读 () 鉴于国内很多相册服务质量降低,国外的又有被墙之虞,买了国外大空间的童鞋们最保险的图片发布方式就 ...

  9. 用html5做一个简单网页_用新款ws2812灯带做一个简单的窗花

    本文转自:DF创客社区-未经许可不可转载 原文链接(附件请于原文下方下载): 用新款ws2812灯带做一个简单的窗花-创意生活论坛-DF创客社区​mc.dfrobot.com.cn 作者:屌丝王小明 ...

最新文章

  1. java浏览器实验报告_关于java实验报告模板
  2. C陷阱与缺陷学习笔记
  3. Dynamic AX ERP 4.0 数据导出(上)
  4. Cool!15个创意的 CSS3 文本效果【下篇】
  5. mysql group_concat去重_mysql 数据库group_concat函数的一些用法
  6. 容器编排技术 -- 安装和设置kubectl
  7. HAproxy开启日志记录
  8. 检测到在集成的托管管道模式下不适用的ASP.NET设置
  9. mybatis的set标签
  10. Java线程池关闭1-shutdown和isTerminated
  11. Java源码阅读神器之Translation翻译插件
  12. 虚幻引擎编程基础(二)
  13. 如何解决CPU过热100度自动关机
  14. 什么是代理IP(代理服务器)如何正确使用代理IP(代理服务器)
  15. Stripe/Paypal 多账户轮询系统操作【一】
  16. Software_Reporter_Tool.exe
  17. 高一的我曾对自己说要放慢脚步去生活!?
  18. H5跳转微信公众号解决方案
  19. c#自学二之KTV点歌系统
  20. 请帮我查看一下2.19号邢台发往北京高铁的班次,以及各个班次的时间

热门文章

  1. 广东省二级计算机考试题目,广东省二级计算机考试题及答案
  2. Zookeeper常用命令详解(Zookeeper3.4.14)
  3. 计算机网络安全常见问题,计算机网络安全是指什么?
  4. python atm取款系统_基于python的ATM(自动取款机)项目
  5. 怎么在地图上画圆 php,SOSO地图API使用(一)在地图上画圆实现思路与代码
  6. java 托盘开发_基于java开发之系统托盘的应用
  7. 中科院信工所经验_保研经验分享:实力+经验+运气=保研成功
  8. python范围运算符_Python的海象运算符
  9. 3904三极管是什么功能_什么是放大器。它有什么特性
  10. ArchLinux安装Gnome桌面