前言

为何写作本书

2014年10月28日,W3C的HTML工作组正式发布了HTML 5的正式推荐标准(W3C Recommendation),这一消息是W3C在美国圣克拉拉举行的W3C技术大会及顾问委员会会议(TPAC 2014)上宣布的。HTML 5在这一版本中增加了支持Web应用开发者的许多新特性,以及更符合开发者使用习惯的新元素,并重点关注定义清晰的、一致的准则,以确保Web应用和内容在不同用户代理(浏览器)中的互操作性。HTML 5是构建开放Web平台的核心。

2015年4月9日,W3C的CSS工作组发布CSS基本用户接口模块(CSS Basic User Interface Module Level 3,CSS3 UI)的标准工作草案。该文档描述了CSS 3中对HTML、XML(包括XHTML)进行样式处理所需的与用户界面相关的CSS选择器(selectors)、属性及属性值。它包含并扩展了在CSS Level 2及Selector规范中定义的与用户接口有关的特性。

HTML 5带来了一组新的用户体验,如Web的音频和视频不再需要插件,通过Canvas更灵活地完成图像绘制,而不必考虑屏幕的分辨率,浏览器对可扩展矢量图(SVG)和数学标记语言(MathML)的本地支持,通过引入新的注释信息以增强对东亚文字呈现(Ruby)的支持,对富Web应用信息无障碍新特性的支持,等等。

前端技术将进入一个崭新的时代,至少已经开启了这扇门。

在这种局势下,学习HTML 5无疑成为Web开发者的一大重要任务,谁先学会HTML 5,谁就掌握了开启未来Web平台的一把钥匙。因此,笔者希望借助此书帮助国内的Web开发者更好地学习HTML 5以及与之相伴的CSS 3技术,早日运用这些技术开发出一个具有现代水平的、在未来的Web平台上正常运行的Web网站或Web应用程序。

第3版与第2版的区别

自2013年上半年本书第2版出版以来,一直受到广大读者的欢迎,笔者在这里首先感谢广大读者的支持。自本书第2版出版之后,HTML 5与CSS 3标准处于不断发展中,各主流浏览器也以最快的速度对HTML 5中各种最新公布的API提供了支持,其中包括各种新增元素、WebRTC通信API、鼠标指针锁定API、JavaScript Promise等。因此,本书以第2版的内容为基础,添加对2013上半年到2015年5月之间HTML 5中新增的各种元素及API的介绍,同时更新各主流浏览器对CSS 3的最新支持情况,以使读者能够学到2015年5月为止关于HTML 5与CSS 3标准的各种知识,了解各种最新浏览器对HTML 5与CSS 3标准的支持情况,能够早日通过这些新知识打造一个HTML 5时代功能强大的Web网站或Web应用程序。

具体来说,本书在第2版的基础上做出了如下主要修改:

❑第2章中新增部分HTML 5属性。

❑第3章中新增对main元素的介绍,移除第2版中对hgroup元素(HTML 5标准中已废除该元素)的介绍。

❑第4章中新增对dialog元素的介绍。

❑第5章(第2版中第6章)中新增“使用Path2D对象绘制路径”和“图形、图像的组合与混合”的内容。

❑第6章(第2版中的第15章)中新增“对音频或视频添加字幕”内容。

❑第10章中新增“在IndexedDB数据库中保存Blob对象”内容。

❑新增第12章对WebRTC通信的介绍。

❑第17章(第2版中的第16章)中新增“鼠标指针锁定API”、“requestAnimationFrame”、“Mutation Observer”、“JavaScript Promise”、“Beacon API”内容。

❑第21章中新增“使用rem单位定义字体大小”内容。

❑第22章中新增“创建盒内阴影”内容。

❑第23章中新增“新增的用于平铺背景图像的选项—space与round”和“使用渐变色背景”内容。

❑第24章中新增“使用3D变形功能”及“变形矩阵”内容。

❑第26章中根据CSS 3最新标准的内容重新编写“弹性盒布局”并新增“calc方法”内容。

❑第28章中新增“实现CSS 3中的滤镜特效”内容。

本书面向的读者

本书主要适合如下人群阅读:

❑具有一定基础的Web前端开发工程师。

❑具有一定美术功底的Web前端设计师和UI设计师。

❑Web项目的项目管理人员。

❑开设Web开发等相关专业的高等院校的师生和相关培训机构的学员及教师。

如何阅读本书

本书共分为上下两册。

上册对HTML 5中新增的语法、标记方法、元素、API,以及这些元素与API到目前为止受到了哪些浏览器支持等进行详细介绍。在对它们进行介绍的同时将其与HTML 4中的各种元素与功能进行对比,以帮助读者更好地理解为什么需要使用HTML 5、使用HTML 5有什么好处、HTML 5中究竟增加了哪些目前HTML 4不具备而在第三代Web平台上将会起到重要作用的功能与API,以及这些功能与API的详细使用方法。

下册详细介绍了CSS 3中各种新增样式与属性,其中主要包括CSS 3中的各种选择器、文字与字体、背景与边框、各种盒模型、CSS 3中的布局方式、CSS 3中的变形与动画、CSS 3中与媒体类型相关的一些样式与属性等。同时详细讲述了这些样式与属性到目前为止受到了哪些浏览器支持,以及针对不同浏览器应该怎样在样式代码中正确使用各种属性。最后详细讲解了两个实例,第一个实例展示了如何在一个用HTML 5语言编写而成的页面中综合运用HTML 5中新增的各种结构元素,如何对这些结构元素综合使用CSS 3样式;第二个实例展示了如何使用HTML 5中新增的表单元素以及操作本地数据库的功能来实现一个具有现代风格的Web应用程序,如何在这个由HTML 5语言编写而成的Web应用程序中综合使用CSS 3样式来完成页面的布局以及视觉效果的美化工作。

全书一共包含389个代码示例,每个代码示例都经过笔者上机实践,确保运行结果正确无误。每个代码示例的详细代码及其用到的脚本文件、各种资源文件都可在华章公司的官方网站(www.hzbook.com)的本书页面上下载,因为是用HTML 5编写而成的网页,所以可直接在各种浏览器中打开并查看运行结果(少量页面需要先建立网站,然后通过访问网站中该页面的方式进行查看;少量页面使用服务器端PHP脚本语言,可在Apache服务器中运行;少量页面使用服务器端Node.js脚本语言,可以通过安装运行Node.js来运行服务器并查看示例页面)。同时,对于HTML 5中的各种元素和各种API,以及CSS 3中的各种属性与样式受到了哪些浏览器的支持在书中都进行了详细介绍,读者可以针对不同的页面选择正确的浏览器来查看其正确的运行结果。

致谢

在本书的写作过程中,机械工业出版社华章公司的编辑杨福川先生和姜影女士给予了很大的帮助和支持,并提出了很多中肯的建议,在此表示感谢。同时,还要感谢机械工业出版社的所有编审人员为本书的出版所付出的辛勤劳动。本书的成功出版是大家共同努力的结果,谢谢他们。

另外,在本书的写作过程当中,由于时间及个人水平上的原因,有可能存在一些对HTML 5及CSS 3认识不全面或疏漏的地方,敬请读者批评指正,作者的联系QQ为240824399,联系邮箱为240824399@qq.com,谨以最真诚的心希望能与读者共同交流、共同成长。