新書推薦:
《
第十三位陪审员
》
售價:HK$
53.8
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
155.7
《
Python贝叶斯深度学习
》
售價:HK$
89.4
《
启微·狂骉年代:西洋赛马在中国
》
售價:HK$
78.4
《
有趣的中国古建筑
》
售價:HK$
67.0
《
十一年夏至
》
售價:HK$
76.2
《
如何打造成功的商业赛事
》
售價:HK$
89.5
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:HK$
58.2
|
編輯推薦: |
(1)本书已经成为HTML5与CSS3领域公认的标杆著作,是开发者们学习HTML5与CSS3的事实标准。
(2)前3版累计印刷超过25次,销量超过10万册,网络书店评论14000余条,好评率99%,是同类书中的领头羊,也是原创计算机图书领域的佼佼者。
(3)针对HTML5与CSS3技术的发展和Web应用环境的变化做了有针对性的优化、更新、补充和删除,内容更有针对性,也更实用。
|
內容簡介: |
内容简介
本书是HTML 5与CSS 3领域公认的标杆之作,被读者誉为“系统学习HTML 5与CSS 3的标准著作”,也是Web前端工程师案头必备工作手册。
前3版累计印刷超过25次,网络书店评论超过14000条,98%以上的评论都是五星级好评。不仅是HTML 5与CSS 3图书领域当之无愧的领头羊,而且在整个原创计算机图书领域也是佼佼者。
第4版首先从技术的角度根据最新的HTML 5和CSS 3标准进行了更新和补充,其次是根据读者的反馈对内容的组织结构和写作方式做了进一步的优化,内容更实用,阅读体验也更好。
全书共26章,本书分为上下两册:
上册(1~14章)内容简介
本书是HTML 5与CSS 3领域公认的标杆之作,被读者誉为“系统学习HTML 5与CSS 3的标准著作”,也是Web前端工程师案头必备工作手册。
前3版累计印刷超过25次,网络书店评论超过14000条,98%以上的评论都是五星级好评。不仅是HTML 5与CSS 3图书领域当之无愧的领头羊,而且在整个原创计算机图书领域也是佼佼者。
第4版首先从技术的角度根据最新的HTML 5和CSS 3标准进行了更新和补充,其次是根据读者的反馈对内容的组织结构和写作方式做了进一步的优化,内容更实用,阅读体验也更好。
全书共26章,本书分为上下两册:
上册(1~14章)
全面系统地讲解了HTML 5相关的各项主要技术,以HTML 5对现有Web应用产生的变革开篇,顺序讲解了HTML 5与HTML 4的区别、HTML 5的结构、表单及新增页面元素、ECMAScript、文件API、本地存储、XML HttpRequest、Web Workers、Service Worker、通信API、Web组件、绘制图形、多媒体等内容。
下册(15~26章)
全面系统地讲解了CSS 3相关的各项主要技术,以CSS 3的功能和模块结构开篇,顺序讲解了各种选择器、文字与字体、盒相关样式、背景与边框、变形处理、动画、布局、多媒体,以及CSS 3中的一些其他重要样式。
全书一共300余个示例页面和1个综合性的案例,所有代码均通过作者上机调试,读者可下载书中代码,直接在浏览器查看运行结果。
|
關於作者: |
作者简介
陆凌牛
Web开发工程师、软件开发工程师和系统设计师。从事Web开发多年,对各种Web开发技术(包括前端和后端)都有非常深入的研究,经验极其丰富。HTML 5和CSS 3等新技术的先驱者和布道者,不仅对HTML 5与CSS 3有非常深入的研究,而且对Node.JS等开发框架也有非常深刻的研究,并且付诸了大量实践。同时,他还擅长.NET和Java的相关技术,在C#、VB.NET、ASP.NET、SQL Server 、Oracle、Java、Struts、Spring、Hibernate等方面也积累大量的实战经验。
此外,他还是一位颇有影响力的技术作家:
(1)《HMTL 5与CSS 3指南》凭借优质的内容深受读者好评,同类书只能望其项背。前3版累计印刷超过25次,销量超过10万册,被读者誉为“系统学习HTML 5与CSS 3的更好选择”和“Web前端工程师案头必备图书之一”, 不仅是HTML 5与CSS 3领域的领头羊和标杆,而且是近年来原创计算机图书领域的一面旗帜。
(2)《HTML 5开发精要与案例详解》、《Sencha Touch指南》、《Node.js指南》等著作同样也取得了非常好的口碑和销量。
|
目錄:
|
前言
上册
第1章 Web时代的变迁1
1.1 迎接新的Web时代1
1.1.1 HTML 5时代即将来临1
1.1.2 HTML 5的目标3
1.1.3 HTML5的小版本更新4
1.2 HTML 5深受欢迎的理由4
1.2.1 世界知名浏览器厂商对HTML 5的支持4
1.2.2 第一个理由:时代的要求5
1.2.3 第二个理由:Internet Explorer 85
1.3 可以放心使用HTML 5的三个理由 6
1.4 HTML 5要解决的三个问题7
第2章 HTML 5与HTML 4的区别8
2.1 语法的改变8
2.1.1 HTML 5的语法变化8
2.1.2 HTML 5中的标记方法9
2.1.3 HTML 5确保的兼容性10
2.1.4 标记示例11
2.2 新增的元素和废除的元素12
2.2.1 新增的结构元素12
2.2.2 新增的其他元素14
2.2.3 新增的input元素的类型18
2.2.4 废除的元素18
2.3 新增的属性和废除的属性19
2.3.1 新增的属性19
2.3.2 废除的属性21
2.4 全局属性23
2.4.1 contentEditable属性23
2.4.2 designMode属性24
2.4.3 hidden属性24
2.4.4 spellcheck属性25
2.4.5 tabindex属性25
2.5 新增的事件25
2.6 只监听一次事件26
第3章 HTML 5的结构28
3.1 新增的主体结构元素28
3.1.1 article元素29
3.1.2 section元素31
3.1.3 nav元素33
3.1.4 aside元素34
3.1.5 time元素与微格式36
3.1.6 pubdate属性37
3.2 新增的非主体结构元素38
3.2.1 header元素38
3.2.2 footer元素39
3.2.3 address元素40
3.2.4 main元素41
3.3 HTML 5中网页结构42
3.3.1 HTML 5中的大纲42
3.3.2 大纲的编排规则48
3.3.3 对新的结构元素使用样式51
第4章 表单及其他新增和改良元素 53
4.1 新增元素与属性53
4.1.1 新增属性53
4.1.2 大幅度地增加与改良input元素的种类65
4.1.3 对新的表单元素使用样式77
4.1.4 output元素的追加77
4.2 表单验证78
4.2.1 自动验证78
4.2.2 取消验证79
4.2.3 显式验证79
4.3 增强的页面元素80
4.3.1 新增的figure元素与figcaption元素80
4.3.2 新增的details元素与summary元素82
4.3.3 新增的mark元素83
4.3.4 新增的progress元素86
4.3.5 新增的meter元素87
4.3.6 新增的dialog元素88
4.3.7 改良的a元素90
4.3.8 改良的ol列表91
4.3.9 改良的dl列表92
4.3.10 加以严格限制的cite元素93
4.3.11 重新定义的small元素94
4.3.12 安全性增强的iframe元素94
4.3.13 增强的script元素97
第5章 ECMAScript中的新增功能 102
5.1 新增语法103
5.1.1 使用for-of循环103
5.1.2 使用let关键字与const关键字声明变量104
5.1.3 使用class关键字声明类109
5.1.4 不确定参数及默认参数值116
5.1.5 箭头函数121
5.1.6 生成器函数126
5.1.7 解构赋值129
5.1.8 模板字符串138
5.1.9 在客户端使用JavaScript模块141
5.2 新增对象及数据类型145
5.2.1 Promise对象145
5.2.2 全局唯一标识符:symbol 166
5.2.3 代理与反射 170
5.2.4 新增的各种集合对象 176
5.3 对现有对象的扩展187
第6章 文件API194
6.1 FileList对象与file对象195
6.2 ArrayBuffer对象与ArrayBuffer-View对象196
6.2.1 基本概念196
6.2.2 ArrayBuffer对象196
6.2.3 ArrayBufferView对象196
6.2.4 DataView对象198
6.3 Blob对象202
6.3.1 Blob对象概述202
6.3.2 创建Blob对象204
6.3.3 Blob对象的slice方法207
6.4 FileReader对象208
6.4.1 FileReader对象的方法208
6.4.2 FileReader对象的事件209
6.4.3 FileReader对象的使用示例209
第7章 本地存储217
7.1 Web Storage218
7.1.1 Web Storage是什么218
7.1.2 简单Web留言本221
7.1.3 作为简易数据库来利用224
7.1.4 利用storage事件实时监视Web Storage中的数据226
7.2 indexedDB数据库229
7.2.1 本地数据库的基本概念229
7.2.2 indexedDB数据库的基本概念229
7.2.3 连接数据库229
7.2.4 数据库的版本更新231
7.2.5 创建对象仓库233
7.2.6 创建索引236
7.2.7 索引的multiEntry属性值239
7.2.8 使用事务239
7.2.9 保存数据241
7.2.10 在indexedDB数据库中保存Blob对象244
7.2.11 获取数据247
7.2.12 根据主键值检索数据251
7.2.13 根据搜索范围获取数据的主键值257
7.2.14 根据索引属性值检索数据260
7.2.15 获取所有数据266
7.2.16 复合索引272
7.2.17 统计对象仓库中的数据数量276
7.2.18 列举数据库中所有对象仓库的名称278
7.2.19 列举事务中所有可访问对象仓库名称279
7.2.20 删除对象仓库281
7.2.21 根据主键删除单条数据282
7.2.22 列举对象仓库的所有索引名称及删除索引286
7.2.23 使用索引对象的方法289
7.2.24 在指定范围中抽取数据主键298
7.2.25 使用游标对象的方法301
第8章 扩展的XMLHttpRequest API及FetchAPI307
8.1 从服务器端获取二进制数据307
8.1.1 ArrayBuffer响应308
8.1.2 Blob响应313
8.2 发送数据314
8.2.1 发送字符串315
8.2.2 发送表单数据316
8.2.3 上传文件319
8.2.4 发送Blob对象320
8.2.5 发送ArrayBuffer对象323
8.3 跨域数据请求327
8.4 使用Fetch API328
8.4.1 告别XMLHttpRequest328
8.4.2 使用Fetch API发出请求329
8.4.3 向服务器端发送POST请求332
8.4.4 提交JSON 数据333
8.4.5 发送表单数据334
8.4.6 上传文件335
8.4.7 提交及下载Blob对象或ArrayBuffer对象336
第9章 使用Web Workers处理线程 339
9.1 基础知识340
9.2 与线程进行数据的交互343
9.3 线程嵌套345
9.3.1 单层嵌套345
9.3.2 在多个子线程中进行数据的交互348
9.4 线程中可用的变量、函数与类349
9.5 适用场合350
9.6 SharedWorker350
9.6.1 基础知识350
9.6.2 实现前台页面与后台线程之间的通信351
9.6.3 定义页面与共享的后台线程开始通信时的处理351
9.6.4 SharedWorker的使用示例352
第10章 使用Service Worker实现离线应用程序358
10.1 Service Worker的基本概念358
10.2 注册、下载及安装359
10.3 自定义请求的响应365
10.4 激活372
10.5 其他用例375
第11章 通信API376
11.1 跨文档消息传输377
11.1.1 跨文档消息传输的基本知识377
11.1.2 跨文档消息传输示例377
11.1.3 通道通信379
11.2 WebSockets通信384
11.2.1 WebSockets通信的基本知识 384
11.2.2 使用WebSockets API384
11.2.3 WebSockets API使用示例385
11.2.4 发送对象387
11.2.5 发送与接收原始二进制数据388
11.2.6 实现WebSockets API的开发框架389
11.2.7 WebSocket协议390
11.2.8 WebSockets API的适用场景390
11.3 Server-Sent Events API390
11.3.1 Server-Sent Events API的基本概念390
11.3.2 Server-Sent Events API的实现方法391
11.4 BroadcastChannel API398
11.4.1 BroadcastChannel API的基本概念398
11.4.2 与其他技术的区别400
第12章 Web组件402
12.1 使用template元素定制客户端模板403
12.1.1 特性检测403
12.1.2 定义模板内容403
12.1.3 动态设置模板内容406
12.1.4 模板中嵌套模板406
12.2 自身独立的Shadow DOM组件 409
12.2.1 Shadow DOM的基本概念 410
12.2.2 创建Shadow DOM410
12.2.3 实现内容与展示的分离412
12.2.4 对Shadow DOM使用样式 423
12.2.5 高级主题430
12.3 自定义元素432
12.3.1 自定义元素的基本概念432
12.3.2 自定义全新的HTML元素 432
12.3.3 扩展元素436
12.3.4 在JavaScript脚本代码中创建自定义元素439
12.3.5 自定义元素响应440
12.3.6 自定义元素的属性446
12.3.7 指定自定义元素的内容451
12.3.8 指定自定义元素的样式454
12.4 HTML导入456
12.4.1 HTML导入所能解决的课题456
12.4.2 HTML导入的基本概念456
12.4.3 打包资源457
12.4.4 load事件与error事件457
12.4.5 使用被导入文档459
12.4.6 传输Web组件462
12.4.7 管理依赖和子导入464
12.4.8 性能注意事项468
12.4.9 HTML导入的要点468
12.4.10 HTML导入的使用案例469
第13章 绘制图形470
13.1 canvas元素的基础知识470
13.1.1 在页面中放置canvas元素 471
13.1.2 绘制矩形471
13.2 使用路径473
13.2.1 绘制圆形473
13.2.2 不关闭路径会怎么样476
13.2.3 绘制直线477
13.2.4 绘制曲线482
13.2.5 使用Path2D对象绘制路径 484
13.3 绘制渐变图形487
13.3.1 绘制线性渐变487
13.3.2 绘制径向渐变489
13.4 绘制变形图形490
13.4.1 坐标变换490
13.4.2 坐标变换与路径的结合使用 492
13.4.3 矩阵变换493
13.5 给图形绘制阴影497
13.6 使用图像498
13.6.1 绘制图像498
13.6.2 图像平铺501
13.6.3 图像裁剪503
13.6.4 像素处理505
13.7 图形、图像的组合与混合506
13.7.1 组合图形506
13.7.2 混合图像508
13.8 绘制文字511
13.9 补充知识513
13.9.1 保存与恢复状态513
13.9.2 将canvas元素中的图像转换为data URL514
13.9.3 将canvas元素中的图像转换为Blob对象515
13.9.4 简单动画的制作518
13.9.5 解码图像521
第14章 多媒体相关API523
14.1 video元素与audio元素的基础知识524
14.2 属性526
14.3 方法530
14.4 事件533
下册
第15章 CSS 3概述1
15.1 概要介绍1
15.1.1 CSS 3是什么1
15.1.2 CSS 3的历史2
15.2 使用CSS 3能做什么2
15.2.1 模块与模块化结构2
15.2.2 一个简单的CSS 3示例4
第16章 选择器7
16.1 选择器概述8
16.2 属性选择器9
16.2.1 属性选择器概述9
16.2.2 CSS 3中的属性选择器11
16.2.3 灵活运用属性选择器12
16.3 结构性伪类选择器13
16.3.1 CSS中的伪类选择器及伪元素13
16.3.2 选择器root、not、empty和ta
|
內容試閱:
|
为何写作本书?
如果要盘点2010年IT届的十大热门技术,云计算、移动开发、物联网等无疑会在其中,HTML 5肯定也是少不了的。2010年,随着HTML 5的迅猛发展,各大浏览器开发公司(如Google、微软、苹果、Mozilla和Opera)的浏览器开发业务都变得异常繁忙。在整个2010年度,无论是Mozilla的Firefox、Google的 Chrome、苹果的Safari、微软的Internet Explorer,还是欧普拉的Opera都处于不断推陈出新的状态当中。
2010年3月,在微软的MIX2010大会上,微软的工程师在介绍Internet Explorer 9浏览器的同时,还从前端技术的角度把互联网的发展分为了三个阶段:
第一阶段:Web 1.0的以内容为主的网络,前端主流技术是HTML和CSS;
第二阶段:Web 2.0的Ajax应用,热门技术是JavaScript、DOM、异步数据请求;
第三阶段:即将迎来的HTML 5时代,亮点是富图形和富媒体内容(Graphically-Rich and Media-Rich)。
前端技术将进入一个崭新的时代,至少已经开启了这扇门。
在这种局势下,学习HTML 5无疑成为Web开发者的一大重要任务,谁先学会HTML 5,谁就掌握了迈向未来Web平台的方向。因此,我希望能够借助本书帮助国内的Web开发者更好地学习HTML 5以及与之相伴的CSS 3技术,使大家能够早日运用这些技术开发出一个具有现代水平的、在未来的Web平台上能够正常运行的Web网站或Web应用程序。
第4版与第3版的区别
自2016年上半年本书第3版出版以来,一直受到广大读者的欢迎,笔者在这里首先感谢广大读者的支持。自本书第3版出版之后,HTML 5与CSS 3标准不断发展,2016年11月,W3C发布HTML 5.1版本;2017年12月,W3C发布HTML 5.2版本。各主流浏览器也以最快的速度对HTML 5中各种最新公布的API提供了支持,其中包括对ECMA Script 2015以上版本的支持、对indexedDB 2.0版本的支持、对Fetch API的支持、改用Service Worker对离线应用程序提供支持、对BroadcastChannel API的支持、对Web组件模块(其中包括HTML模块、Shadow DOM、自定义元素、HTML导入)的支持、对Web Animations API的支持等。因此,本书第4版以第3版的内容为基础,添加2016年上半年到2018年上半年之间HTML 5中新增的各种元素及API,同时更新各主流浏览器CSS 3的最新支持情况,以使读者能够学到HTML 5与CSS 3标准中的各种知识,了解各种最新的浏览器中对HTML 5与CSS 3标准的最新支持情况,以帮助读者能够早日将这些新的知识打造成一个HTML 5时代的功能强大的Web网站或Web应用程序。
具体来说,第4版在第3版的基础上,做出的主要修改如下所示:
第2章“HTML5与HTML4的区别”中删除在HTML 5.1中被移除的元素。
新增第5章“ECMAScript中的新增功能”。
第7章“本地存储”(原书中第8章)中新增indexedDB 2.0部分。
第8章“扩展的XMLHttpRequest API”(原书中第13章)修改为第8章“扩展的XMLHttpRequest API及Fetch API”,新增8.4节“使用Fetch API”。
新增第10章“使用Service Worker实现离线应用程序”。
第11章“通信API”中新增11.4节“BroadcastChannel API”。
新增第12章“Web组件”。
第13章“绘制图形” (原书中第5章)中新增13.9.3节“将canvas元素中的图像转换为Blob对象”与13.9.5节“解码图像”。
第18章“文字与字体相关样式”中新增18.4节“指定用户是否可选取文字的user-select属性”。
第22章“CSS3中的动画功能”中新增22.3节“Web Animations API”。
第23章“布局相关样式”中新增23.4节“网格布局”。
第24章“Media Queries相关样式”一章修改为第24章“媒体查询表达式与特性查询表达式”,新增24.2节“特性查询表达式”。
第25章“CSS 3的其他重要样式和属性”中新增25.4节“用于控制鼠标事件的pointer-events属性”与25.6节“CSS变量”。
本书面向的读者
本书主要适合如下人群阅读:
具有一定基础的Web前端开发工程师
具有一定美术功底的Web前端设计师和UI设计师
Web项目的管理人员
开设了Web开发等相关专业的高等院校师生和相关培训机构的学员及教师
如何阅读本书
本书从逻辑上共分为三个部分:
第一部分(第1~14章) 对HTML 5中新增的语法与标记方法、新增的元素、新增的API以及到本书截稿时这些元素与API得到哪些浏览器的支持等进行了详细介绍。在对它们进行介绍的同时将其与HTML 4中的各种元素与功能进行了对比,以帮助读者更好地理解为什么需要使用HTML 5、使用HTML 5有什么好处、HTML 5中究竟增加了哪些目前HTML 4不具备而在第三代Web平台上将会起到重要作用的功能与API,以及这些功能与API的详细使用方法。
第二部分(第15~25章) 详细介绍了CSS 3中的各种新增样式与属性,其中主要包括CSS 3中的各种选择器、文字与字体、背景与边框、各种盒模型、CSS 3中的布局方式、CSS 3中的变形与动画、CSS 3中与媒体类型相关的一些样式与属性等。在介绍的同时也详细讲述了到本书截稿时这些样式与属性得到哪些浏览器的支持,以及针对各种浏览器应该怎样在样式代码中进行各种属性的正确书写。
第三部分(第26章) 详细讲解了一个实例,该实例展示了如何使用HTML 5中新增的表单元素、如何读取本地数据库中的数据、如何保存数据到本地数据库、如何使用Fetch API读取服务器端的数据及提交数据到服务器端并处理服务器端响应、如何保存数据到LocalStorage及从LocalStorage读取保存后的数据,从而实现一个具有现代风格的Web应用程序,以及如何在这个由HTML 5语言及其功能编写而成的Web应用程序中综合使用CSS 3样式来完成页面的布局以及视觉效果的美化工作。
全书一共有300多个代码示例,每个代码示例都经过笔者上机实践,确保运行结果正确无误。每个代码示例的详细代码及其用到的脚本文件、各种资源文件都可在华章公司的官方网站(www.hzbook.com)本书的页面上下载,因为是用HTML 5编写的网页,所以这些文件可直接在各种浏览器中打开并查看运行结果。少量页面需要首先建立网站,然后通过访问网站中该页面的方式来进行查看,少量页面使用服务器端PHP脚本语言,可在Apache服务器中运行。书中详细介绍了对HTML 5中的各种元素、各种API和CSS 3中的各种属性和样式提供支持的浏览器,读者可以针对不同的页面选择正确的浏览器来查看其正确的运行结果。
致谢
在本书的写作过程中,策划编辑杨福川先生和李艺女士给予了很大的帮助和支持,并提出了很多中肯的建议,在此表示感谢。同时,还要感谢机械工业出版社的所有编审人员为本书的出版所付出的辛勤劳动。本书的成功出版是大家共同努力的结果,谢谢你们。
另外,在本书的写作过程当中,由于时间及水平上的原因,可能存在一些对HTML 5及CSS 3上认识不全面或疏漏的地方,敬请读者批评更正,作者的联系QQ为240824399,联系邮箱为240824399@qq.com,谨以最真诚的心希望能与读者交流,共同成长。
|
|