1 章  HTML5 概述

学习要点:

1.HTML5 的历史

2.HTML5 的功能

3.HTML5 的特点

4.课程学习问题

HTML5 是继 HTML4.01 和 XHTML1.0 之后的超文本标记语言的最新版本。它是由一群

自由思想者组成的团队设计出来,并最终实现多媒体支持、交互性、更加智能的表单,以及

更好的语义化标记。

HTML5 并不仅仅是 HTML 规范的最新版本,而是一系列用来制作现代富 Web 内容的

相关技术的总称,其中最重要的三项技术分别为:HTML5 核心规范(标签元素)、CSS(层

叠样式表第三代)、和 JavaScript。

一.HTML5 的历史

1993 年 HTML 首次以因特网草案的形式发布,然后经历了 2.0、3.2 和 4.0,直到 1999

年的 HTML4.01 版本稳定下来。由于发展缓慢,逐渐的被更加严格的 XHTML 取代。

XHTML 的兴衰史

自从 HTML4.01 版本之后,掌握着 HTML 规范的万维网联盟(W3C)组织没有再发布新

的标准,而是围绕着 XHTML1.0 以及之后的 XHTML2.0 展开工作。XHTML 是基于 XML、致力

于实现更加严格并且统一的编码规范的 HTML 版本,解决之前 HTML4.01 版本时,由于编码

不规范导致浏览器的各种古怪行为。所以,Web 开发者对 XHTML 非常的拥护。XHTML 极大

的好处,就是强迫开发者养成良好的编码习惯,放弃 HTML 的凌乱写法,最终降低了浏览器

解析页面的难度,方便移植到更多平台。

可是,越是想往好的方面发展,往往可能是带来的却是毁灭性的灾难,世间万物就是如

此。XHTML2.0 规范了更严格的错误处理规则,强制要求浏览器拒绝无效的 XHTML2 页面,

强制 Web 开发者写出绝对正确规范的代码,同时不得向下兼容,摒弃 HTML 遗留的怪异行为

和编码习惯。按理说,取其精华、舍其糟粕应该是好事。但是,这样的话,数亿的页面将无

法兼容,Web 开发者的难度又被加大,并且制定这个标准又太过久远,最终被抛弃。

HTML5 的回归

2008 年 W3C 发布了 HTML5 的工作草案,2009 年停止了 XHTML2 计划。又过去大概一

年,HTML5 规范进一步解决了诸多非常实际的问题,各大浏览器厂商开始对旗下的产品进行

升级,以便支持 HTML5。这样,得益于浏览器的实验反馈,HTML5 规范得到了持续的进步和

完善,从而迅速融入到 Web 平台的实质性改进中。

和 XHTML2.0 不同,制定 HTML5 规范的一群人并不想挑出以往 HTML 的各种毛病为其改

正,而是尽可能的补全 Web 开发者急需的各种功能。这些功能包括更强大的 CSS3、表单验

证、音频视频、本地存储、地理定位、绘画(Canvas)、Web 通信等等。

二.HTML5 的功能

HTML5 到底涵盖了哪些功能?这些功能到底在主流的浏览器支持情况如何?

1.HTML5 核心:这部分主要由 W3C 官方的规范组成,涉及新的语义元素、新的增强的

Web 表单、音频和视频、以及通过 JavaScript 绘图的 Canvas。这部分大多数主流浏览器

均得到很好的支持;

2.曾经的 HTML5 标准:这部分主要来自于最初制定的 HTML5 规范,其中大多数功能需

要 JavaScript 且支持富 Web 应用开发。比如:本地数据存储、离线应用和消息传递;

3.非 HTML5 标准:这部分通常指下一代功能,虽然从未进入 HTML5 标准,但人们还是

会把它认做 HTML5 的一部分。这些包括最为常见的 CSS3,以及很热门的地理定位。

对于最为常用且实用的部分,基本上主流的浏览器都支持的比较好。而那些特殊需求的

部分,则需要根据不同的浏览器检测才能知道是否支持自己想要的功能。

三.HTML5 的特点

在 HTML5 发展的同时,XHTML2.0 也在不断发展,那么到底是哪些特点导致 HTML5 取

得最终的胜利呢?

1.向下兼容

对于 XHTML2.0 要求遵循规则,否则不予显示的方式,HTML5 却实行“不破坏 Web”的

原则。也就是说,以往已存在的 Web 页面,还可以保持正确的显示。

当然,面对开发者,HTML5 规范要求摒弃过去那些编码坏习惯和废弃的标签元素;而面

对浏览器厂商,要求它们兼容 HTML 遗留的一切,以做到向下兼容。

2.用户至上

HTML5 遵循“用户至上”的原则,在出现具体问题时,会把用户放在第一位,其次是开

发者,然后是浏览器厂商,最后才是规范制定者。比如,开发者在编码时不严谨导致本该出

现警告或错误时,却正常显示了页面。

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)支持所有语种:比如新元素<ruby>。

6.引入语义

HTML5 引入了一些用来区分不同含义和内容的标记元素。这种方式极大的提供的编码人

员的可读性和代码区域查询的便利性。

7.引入原生媒体支持

HTML5 的一次大改进救生衣支持在浏览器中直接播放视频和音频文件,以前都需要借助

插件才能实现此类功能。

8.引入可编程内容

HTML5 最大的变化就是引入了需要通过 JavaScript 编程才能完全的各种效果,而这些

很多都是 HTML5 原生的。那么现在 HTML5 可以理解为  HTML  +  CSS  +  JavaScript 的总称。

四.课程学习问题

学习 HTML5 需要一些测试用的浏览器、编码用的开发工具、以及建议推荐的学习方法。

1.浏览器选择

最新Firefox

这里重点要说明一下 IE 浏览器。由于历史和系统绑定原因,还有相当一部分电脑残留

IE9 以下版本的浏览器。虽然微软已经开始发表声明逐步不再维护 IE8,但这部分群体还占

有一定的份额。所以,是否要迎合这部分用户,取决于个人对市场的判断和成本的考量。

2.开发工具

我们使用 Hbuilder 作为 HTML5 课程的编码工具。

第1章 HTML5 概述的更多相关文章

  1. 第四章 HTML5概述

    HTML5概述1.HTML5优势:解决跨浏览器问题:部分代替原来的js更明确地语义支持:不再单纯使用div增强WEB应用程序地功能:拖拽API等 2.HTML5语法改变标签不再区分大小写元素可以省略结 ...

  2. 第 1 章 HTML5 概述

    学习要点: 1.HTML5 的历史 2.HTML5 的功能 3.HTML5 的特点 4.课程学习问题 主讲教师:李炎恢 HTML5 是继 HTML4.01 和 XHTML1.0 之后的超文本标记语言的 ...

  3. 第一章 数据库概述、MySQL的安装和配置

      第一章 数据库概述.MySQL的安装和配置   1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...

  4. Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考

    第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...

  5. Study 1 —— HTML5概述

    HTML5概述HTML是一种超文本标记语言,主要用于描述超文本中内容的显示方式.标记语言经过浏览器的解释和编译,虽然它本身不能显示在浏览器中,但在浏览器中可以正确显示HTML标记的内容.HTML5是一 ...

  6. [OpenGL红宝书]第一章 OpenGL概述

    第一章 OpenGL概述 标签(空格分隔): OpenGL 第一章 OpenGL概述 1 什么是OpenGL 2 初识OpenGL程序 3 OpenGL语法 4 OpenGL渲染管线 41 准备向Op ...

  7. Java开发工程师(Web方向) - 04.Spring框架 - 第1章.Spring概述

    第1章.Spring概述 Spring概述 The Spring Framework is a lightweight solution and a potential one-stop-shop f ...

  8. 第一节 课程简介与HTML5概述

    第一节 课程简介与HTML5概述 *********************************************************** 1.1课程简介 教学目的: 从基础入手到能够运 ...

  9. SSM框架学习笔记_第1章_SpringIOC概述

    第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...

随机推荐

  1. web页面实时刷新之browser sync

    web开发对实时刷新的需求 在刚开始学习前端时每次修改文件内容后都需要手工刷新下浏览器来看效果,做的次数多了就特别难受,有时仅仅修改了一个字母都需要刷新下页面查看 之后接触到编写边看的集成IDE,文件 ...

  2. fileupload NPOI导入EXECL数据

    fileupload JS @section scripts{ <script src="~/Content/js/fileupload/vendor/jquery.ui.widget ...

  3. MySQL如何查询当月数据

    自己写了一个比较简单效率又高的方法,分享给大家: WHERE addTime BETWEEN DATE_FORMAT(NOW(),'%Y-%m-01') AND NOW() 方法就是过滤 本月1日到当 ...

  4. HTML中6种空白空格

    HTML提供了5种空格实体(space entity),它们拥有不同的宽度,非断行空格( )是常规空格的宽度,可运行于所有主流浏览器.其他几种空格(       ‌‍)在不同浏览器中宽度各异.     ...

  5. Java中mouseDragged有效mouseMoved没响应的可能原因

    1.这个问题在jdk7与jdk8上都会出现. 2.具体表现为: 单独写个测试例子,用JFrame实现了mouseMoved接口,mouseDragged和mouseMoved都输出方法名和坐标,结果是 ...

  6. 【起航计划 009】2015 起航计划 Android APIDemo的魔鬼步伐 08 App->Activity->QuickContactsDemo 联系人 ResourceCursorAdapter使用 QuickContactBadge使用

    QuickContactsDemo示例介绍了如何使用Content Provider来访问Android系统的Contacts 数据库. Content Provider为不同应用之间共享数据提供了统 ...

  7. due to a StackOverflowError. Possible root causes include a too low。。

    我们可以用另外的办法来解决这个问题,我们让tomcat不扫描指定的jar包,tomcat就要轻松得多了,org.apache.tomcat.util.scan.StandardJarScanner中定 ...

  8. iis 部署网站常见问题

    环境IIS6.0,win2003server 首先打开iis,左边菜单选中”Web服务扩展“,讲Active Server Pages 和 ASP.NET v2.0.50727设置为允许 1.创建网站 ...

  9. [SVN]TortoiseSVN工具培训4─客户端常用操作命令

    1.权限认证 当进行SVN任何操作时,如果是首次操作,SVN会弹出权限认证. 输入用户名和密码点击确认即可完成认证. 勾选保存用户数据信息,可以避免将来重复输入用户名和密码认证. 2.删除权限认证信息 ...

  10. django定时任务小插件

    需求 每天请求一封邮件,并读取该邮件 这个其实可以使用linux 自带了crontab实现,但是毕竟是django 开发.想着不知道有没有方法可以从django 中实现. 简单搜索了下,这方面的方法确 ...