当前位置:主页 > 书籍配套资源 > web前端配套资源
《HTML 5与CSS 3权威指南(第3版·上册)》源代码

《HTML 5与CSS 3权威指南(第3版·上册)》源代码

  • 更新:2022-03-24
  • 大小:4.8 MB
  • 类别:web前端
  • 作者:陆凌牛
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书不仅是HTML 5与CSS 3图书领域当之无愧的领头羊,而且在整个原创计算机图书领域也是佼佼者。本书已经成为HTML 5与CSS 3图书领域的一个标杆,被读者誉为“系统学习HTML 5与CSS 3技术的最佳指导参考书之一”和“Web前端工程师案头必备图书之一”。第2版首先从技术的角度结合最新的HTML 5和CSS 3标准对内容进行了更新和补充,其次从结构组织和写作方式的角度对原有的内容进行了进一步优化,使之更具价值和更便于读者阅读。

全书共29章,本书分为上下两册:上册(1~17章)全面系统地讲解了HTML 5相关的技术,以HTML 5对现有Web应用产生的变革开篇,顺序讲解了HTML 5与HTML 4的区别、HTML 5的结构、表单元素、HTML编辑API、图形绘制、History API、本地存储、离线应用、文件API、通信API、扩展的XML HttpRequest API、Web Workers、地理位置信息、多媒体相关的API、页面显示相关的API、拖放API与通知API等内容;下册(19~29章)全面系统地讲解了CSS 3相关的技术,以CSS 3的功能和模块结构开篇,顺序讲解了各种选择器及其使用、文字与字体的相关样式、盒相关样式、背景与边框相关样式、布局相关样式、变形处理、动画、颜色相关样式等内容。

封面图

目录

  • 前言
  • 上 册
  • 第1章 Web时代的变迁1
  • 1.1 迎接新的Web时代1
  • 1.1.1 HTML 5时代即将来临1
  • 1.1.2 HTML 5的目标3
  • 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要解决的三个问题6
  • 第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 废除的元素19
  • 2.3 新增的属性和废除的属性20
  • 2.3.1 新增的属性20
  • 2.3.2 废除的属性22
  • 2.4 全局属性23
  • 2.4.1 contentEditable属性23
  • 2.4.2 designMode属性24
  • 2.4.3 hidden属性25
  • 2.4.4 spellcheck属性25
  • 2.4.5 tabindex属性25
  • 2.5 新增的事件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 新增的f igure元素与f igcaption元素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章 绘制图形102
  • 5.1canvas元素的基础知识102
  • 5.1.1在页面中放置canvas元素103
  • 5.1.2绘制矩形103
  • 5.2使用路径105
  • 5.2.1绘制圆形105
  • 5.2.2不关闭路径会怎么样108
  • 5.2.3绘制直线109
  • 5.2.4绘制曲线114
  • 5.2.5使用Path2D对象绘制路径116
  • 5.3绘制渐变图形119
  • 5.3.1绘制线性渐变119
  • 5.3.2绘制径向渐变121
  • 5.4绘制变形图形122
  • 5.4.1坐标变换122
  • 5.4.2坐标变换与路径的结合使用124
  • 5.4.3矩阵变换125
  • 5.5给图形绘制阴影129
  • 5.6使用图像130
  • 5.6.1绘制图像130
  • 5.6.2图像平铺133
  • 5.6.3图像裁剪135
  • 5.6.4像素处理137
  • 5.7图形、图像的组合与混合138
  • 5.7.1组合图形138
  • 5.7.2混合图像140
  • 5.8绘制文字143
  • 5.9补充知识145
  • 5.9.1保存与恢复状态145
  • 5.9.2保存文件146
  • 5.9.3简单动画的制作147
  • 第6章 多媒体相关API150
  • 6.1多媒体播放151
  • 6.1.1video元素与audio元素的基础知识151
  • 6.1.2属性153
  • 6.1.3方法157
  • 6.1.4事件160
  • 6.2对音频或视频添加字幕163
  • 6.2.1track元素的基础知识163
  • 6.2.2track元素的各种属性164
  • 6.2.3WebVTT文件166
  • 第7章 History API171
  • 7.1History API的基本概念171
  • 7.2History API使用示例172
  • 7.2.1使用History API172
  • 7.2.2结合使用Canvas API与History API182
  • 第8章 本地存储187
  • 8.1Web Storage188
  • 8.1.1Web Storage是什么188
  • 8.1.2简单Web留言本191
  • 8.1.3作为简易数据库来利用194
  • 8.1.4利用storage事件实时监视Web Storage中的数据196
  • 8.2本地数据库199
  • 8.2.1本地数据库的基本概念199
  • 8.2.2用executeSql来执行查询199
  • 8.2.3使用数据库实现Web留言本200
  • 8.2.4transaction方法中的处理204
  • 8.3indexedDB数据库206
  • 8.3.1indexedDB数据库的基本概念206
  • 8.3.2连接数据库206
  • 8.3.3数据库的版本更新208
  • 8.3.4创建对象仓库210
  • 8.3.5创建索引213
  • 8.3.6索引的multiEntry属性值216
  • 8.3.7使用事务216
  • 8.3.8保存数据218
  • 8.3.9获取数据221
  • 8.3.10根据主键值检索数据225
  • 8.3.11根据索引属性值检索数据232
  • 8.3.12复合索引237
  • 8.3.13统计对象仓库中的数据数量242
  • 8.3.14使用indexedDB API制作Web留言本243
  • 第9章 离线应用程序250
  • 9.1离线Web应用程序详解250
  • 9.1.1新增的本地缓存250
  • 9.1.2本地缓存与浏览器网页缓存的区别251
  • 9.2manifest文件251
  • 9.3浏览器与服务器的交互过程254
  • 9.4applicationCache对象255
  • 9.4.1swapCache方法255
  • 9.4.2applicationCache对象的事件258
  • 第10章 文件API261
  • 10.1FileList对象与f ile对象262
  • 10.2ArrayBuffer对象与ArrayBufferView对象263
  • 10.2.1基本概念263
  • 10.2.2ArrayBuffer对象263
  • 10.2.3ArrayBufferView对象263
  • 10.2.4DataView对象265
  • 10.3Blob对象269
  • 10.3.1Blob对象概述269
  • 10.3.2创建Blob对象271
  • 10.3.3Blob对象的slice方法274
  • 10.3.4在IndexedDB数据库中保存Blob对象275
  • 10.4FileReader对象277
  • 10.4.1FileReader对象的方法277
  • 10.4.2FileReader对象的事件278
  • 10.4.3FileReader对象的使用示例278
  • 10.5FileSystem API285
  • 10.5.1FileSystem API概述285
  • 10.5.2FileSystem API的适用场合286
  • 10.5.3请求访问文件系统287
  • 10.5.4申请磁盘配额289
  • 10.5.5创建文件294
  • 10.5.6写入文件297
  • 10.5.7在文件中追加数据300
  • 10.5.8读取文件301
  • 10.5.9复制磁盘中的文件304
  • 10.5.10删除文件306
  • 10.5.11创建目录307
  • 10.5.12读取目录中的内容312
  • 10.5.13删除目录314
  • 10.5.14复制文件或目录316
  • 10.5.15移动文件或目录与重命名文件或目录319
  • 10.5.16f ilesystem:URL前缀321
  • 10.5.17综合案例325
  • 10.6Base64编码支持333
  • 10.6.1Base64编码概述333
  • 10.6.2在HTML 5中支持Base64编码335
  • 第11章 通信API340
  • 11.1跨文档消息传输341
  • 11.1.1跨文档消息传输的基本知识341
  • 11.1.2跨文档消息传输示例341
  • 11.1.3通道通信343
  • 11.2WebSockets通信348
  • 11.2.1WebSockets通信的基本知识348
  • 11.2.2使用WebSockets API348
  • 11.2.3WebSockets API使用示例349
  • 11.2.4发送对象351
  • 11.2.5发送与接收原始二进制数据352
  • 11.2.6实现WebSockets API的开发框架353
  • 11.2.7WebSocket协议354
  • 11.2.8WebSockets API的适用场景354
  • 11.3Server-Sent Events API354
  • 11.3.1Server-Sent Events API的基本概念354
  • 11.3.2Server-Sent Events API的实现方法355
  • 11.3.3事件ID的使用示例362
  • 第12章 WebRTC通信366
  • 12.1WebRTC的基本概念366
  • 12.2使用getUserMedia方法访问本地设备367
  • 12.2.1浏览器检测367
  • 12.2.2获取对视频输入设备或音频输入设备的访问权限368
  • 12.2.3实现拍照功能370
  • 12.2.4与CSS 3结合使用372
  • 12.3手工建立WebRTC通信372
  • 12.3.1WebRTC通信的基本概念372
  • 12.3.2建立P2P通信372
  • 12.3.3手工实现信令373
  • 12.3.4剖析SDP交换过程382
  • 12.3.5剖析ICE交换过程388
  • 12.4穿越NAT/防火墙进行通信390
  • 12.4.1穿越NAT391
  • 12.4.2穿越防火墙392
  • 12.5使用Node.js进行信令395
  • 12.5.1建立信令服务器395
  • 12.5.2修改信令处理396
  • 12.6使用WebRTC进行多人通信404
  • 12.7使用RTCDataChannel进行通信425
  • 12.7.1RTCDataChannel的基本概念425
  • 12.7.2实现RTCDataChannel通信426
  • 12.7.3实现浏览器与浏览器之间的文件发送功能438
  • 第13章 扩展的XMLHttpRequest API449
  • 13.1从服务器端获取二进制数据449
  • 13.1.1ArrayBuffer响应450
  • 13.1.2Blob响应455
  • 13.2发送数据456
  • 13.2.1发送字符串457
  • 13.2.2发送表单数据458
  • 13.2.3上传文件461
  • 13.2.4发送Blob对象462
  • 13.2.5发送ArrayBuffer对象465
  • 13.3跨域数据请求469
  • 第14章 使用Web Workers处理线程471
  • 14.1基础知识472
  • 14.2与线程进行数据的交互475
  • 14.3线程嵌套477
  • 14.3.1单层嵌套477
  • 14.3.2在多个子线程中进行数据的交互480
  • 14.4线程中可用的变量、函数与类481
  • 14.5适用场合482
  • 14.6SharedWorker482
  • 14.6.1基础知识482
  • 14.6.2实现前台页面与后台线程之间的通信483
  • 14.6.3定义页面与共享的后台线程开始通信时的处理483
  • 14.6.4SharedWorker的使用示例484
  • 第15章 获取地理位置信息490
  • 15.1Geolocation API的基本知识490
  • 15.1.1取得当前地理位置490
  • 15.1.2持续监视当前地理位置的信息493
  • 15.1.3停止获取当前用户的地理位置信息493
  • 15.2position对象493
  • 15.3在页面上使用google地图495
  • 第16章 拖放API与通知API498
  • 16.1拖放API498
  • 16.1.1实现拖放的步骤498
  • 16.1.2DataTransfer对象的属性与方法501
  • 16.1.3设定拖放时的视觉效果502
  • 16.1.4自定义拖放图标503
  • 16.2通知API503
  • 16.2.1通知API的基础知识503
  • 16.2.2通知API的代码使用示例506
  • 第17章 其他API510
  • 17.1Page Visibility API511
  • 17.1.1Page Visibility API概述511
  • 17.1.2Page Visibility API的使用场合511
  • 17.1.3实现Page Visibility API511
  • 17.2Fullscreen API514
  • 17.2.1Fullscreen API概述514
  • 17.2.2实现Fullscreen API514
  • 17.2.3Fullscreen API代码使用示例517
  • 17.3鼠标指针锁定API519
  • 17.3.1鼠标指针锁定API概述519
  • 17.3.2鼠标指针锁定API代码使用示例520
  • 17.4requestAnimationFrame524
  • 17.4.1requestAnimationFrame概述524
  • 17.4.2requestAnimFrame代码使用示例524
  • 17.5Mutation Observer526
  • 17.6JavaScript Promise531
  • 17.6.1Promise对象的基本概念531
  • 17.6.2创建Promise对象537
  • 17.6.3链式调用Promise对象的then方法540
  • 17.6.4将异步操作队列化542
  • 17.6.5异常处理543
  • 17.6.6创建序列544
  • 17.6.7执行并行处理549
  • 17.7Beacon API550
  • 17.7.1Beacon API概述550
  • 17.7.2Beacon API的使用方法551
  • 下 册
  • 第18章CSS 3概述553
  • 18.1概要介绍553
  • 18.1.1CSS 3是什么553
  • 18.1.2CSS 3的历史554
  • 18.2使用CSS 3能做什么554
  • 18.2.1模块与模块化结构554
  • 18.2.2一个简单的CSS 3示例556
  • 第19章选择器559
  • 19.1选择器概述560
  • 19.2属性选择器561
  • 19.2.1属性选择器概述561
  • 19.2.2CSS 3中的属性选择器563
  • 19.2.3灵活运用属性选择器564
  • 19.3结构性伪类选择器565
  • 19.3.1CSS中的伪类选择器及伪元素565
  • 19.3.2选择器root、not、empty和target570
  • 19.3.3选择器f irst-child、last-child、nth-child和nth-last-child574
  • 19.3.4选择器nth-of-type和nth-last-of-type579
  • 19.3.5循环使用样式582
  • 19.3.6only-child选择器584
  • 19.4UI元素状态伪类选择器585
  • 19.4.1伪类选择器E:hover、E:active和E:focus586
  • 19.4.2伪类选择器E:enabled与E:disabled588
  • 19.4.3伪类选择器E:read-only与E:read-write589
  • 19.4.4伪类选择器E:checked、E:default和E:indeterminate590
  • 19.4.5伪类选择器E::selection593
  • 19.4.6伪类选择器E:invalid与E:valid595
  • 19.4.7伪类选择器E:required与E:optional596
  • 19.4.8伪类选择器E:in-range与E:out-of-range596
  • 19.5通用兄弟元素选择器597
  • 第20章使用选择器在页面中插入内容599
  • 20.1使用选择器来插入文字599
  • 20.1.1使用选择器来插入内容599
  • 20.1.2指定个别元素不进行插入601
  • 20.2插入图像文件602
  • 20.2.1在标题前插入图像文件602
  • 20.2.2插入图像文件的好处603
  • 20.2.3将alt属性的值作为图像的标题来显示605
  • 20.3使用content属性来插入项目编号605
  • 20.3.1在多个标题前加上连续编号606
  • 20.3.2在项目编号中追加文字607
  • 20.3.3指定编号的样式607
  • 20.3.4指定编号的种类608
  • 20.3.5编号嵌套608
  • 20.3.6中编号中嵌入大编号610
  • 20.3.7在字符串两边添加嵌套文字符号611
  • 第21章文字与字体相关样式614
  • 21.1给文字添加阴影——text-shadow属性614
  • 21.1.1text-shadow属性的使用方法614
  • 21.1.2位移距离616
  • 21.1.3阴影的模糊半径617
  • 21.1.4阴影的颜色617
  • 21.1.5指定多个阴影618
  • 21.2让文本自动换行——word-break属性618
  • 21.2.1依靠浏览器让文本自动换行619
  • 21.2.2指定自动换行的处理方法619
  • 21.3让长单词与URL地址自动换行——word-wrap属性621
  • 21.4使用服务器端字体——Web Font与@font-face属性621
  • 21.4.1在网页上显示服务器端字体621
  • 21.4.2定义斜体或粗体字体623
  • 21.4.3显示客户端本地的字体625
  • 21.4.4属性值的指定627
  • 21.5修改字体种类而保持字体尺寸不变——font-size-adjust属性628
  • 21.5.1字体不同导致文字大小的不同628
  • 21.5.2font-size-adjust属性的使用方法629
  • 21.5.3浏览器对于aspect值的计算方法629
  • 21.5.4font-size-adjust属性的使用示例630
  • 21.6使用rem单位定义字体大小631
  • 第22章盒相关样式633
  • 22.1盒的类型633
  • 22.1.1盒的基本类型633
  • 22.1.2inline-block类型635
  • 22.1.3inline-table类型642
  • 22.1.4list-item类型644
  • 22.1.5run-in类型与compact类型645
  • 22.1.6表格相关类型646
  • 22.1.7none类型648
  • 22.1.8各种浏览器对于各种盒类型的支持情况649
  • 22.2对于盒中容纳不下的内容的显示650
  • 22.2.1overf low属性650
  • 22.2.2overf low-x属性与overf low-y属性653
  • 22.2.3text-overf low属性654
  • 22.3对盒使用阴影656
  • 22.3.1box-shadow属性的使用方法656
  • 22.3.2将参数设定为0656
  • 22.3.3创建盒内阴影658
  • 22.3.4对盒内子元素使用阴影658
  • 22.3.5对第一个文字或第一行使用阴影659
  • 22.3.6对表格及单元格使用阴影660
  • 22.4指定针对元素的宽度与高度的计算方法661
  • 22.4.1box-sizing属性661
  • 22.4.2为什么要使用box-sizing属性664
  • 第23章背景与边框相关样式666
  • 23.1与背景相关的新增属性666
  • 23.1.1指定背景的显示范围——background-clip属性667
  • 23.1.2指定背景图像的绘制起点——background-origin属性669
  • 23.1.3指定背景图像的尺寸——background-size属性672
  • 23.1.4新增的用于平铺背景图像的选项——space与round676
  • 23.2在一个元素中显示多个背景图像678
  • 23.3使用渐变色背景679
  • 23.3.1绘制线性渐变679
  • 23.3.2绘制放射性渐变682
  • 23.4圆角边框的绘制685
  • 23.4.1border-radius属性686
  • 23.4.2在border-radius属性中指定两个半径686
  • 23.4.3不显示边框的时候687
  • 23.4.4修改边框种类的时候688
  • 23.4.5绘制四个角不同半径的圆角边框688
  • 23.5使用图像边框688
  • 23.5.1border-image属性688
  • 23.5.2border-image属性的最简单的使用方法690
  • 23.5.3使用border-image属性来指定边框宽度692
  • 23.5.4指定4条边中图像的显示方法693
  • 23.5.5使用背景图像696
  • 第24章CSS 3中的变形处理698
  • 24.1transform功能的基础知识698
  • 24.1.1如何使用transform功能698
  • 24.1.2transform功能的分类699
  • 24.2对一个元素使用多种变形704
  • 24.2.1对一个元素使用多种变形的方法704
  • 24.2.2指定变形的基准点707
  • 24.3使用3D变形功能709
  • 24.3.13D变形功能概述709
  • 24.3.2实现3D变形功能710
  • 24.4变形矩阵718
  • 24.4.1矩阵概述718
  • 24.4.2变形与坐标系统719
  • 24.4.3计算2D变形719
  • 24.4.4计算3D变形721
  • 24.4.5通过矩阵执行多重变形处理722
  • 第25章CSS 3中的动画功能725
  • 25.1Transitions功能725
  • 25.1.1Transitions功能的使用方法726
  • 25.1.2使用Transitions功能同时平滑过渡多个属性值727
  • 25.2Animations功能730
  • 25.2.1Animations功能的使用方法730
  • 25.2.2实现多个属性值同时改变的动画733
  • 25.2.3实现动画的方法736
  • 25.2.4实现网页的淡入效果737
  • 第26章布局相关样式739
  • 26.1多栏布局740
  • 26.1.1使用f loat属性或position属性的缺点740
  • 26.1.2使用多栏布局方式741
  • 26.2盒布局747
  • 26.2.1使用f loat属性或position属性时的缺点747
  • 26.2.2使用盒布局749
  • 26.2.3盒布局与多栏布局的区别750
  • 26.3弹性盒布局751
  • 26.3.1对多个元素使用f lex属性751
  • 26.3.2改变元素的显示顺序753
  • 26.3.3改变元素的排列方向754
  • 26.3.4元素宽度与高度的自适应755
  • 26.3.5使用弹性盒布局来消除空白758
  • 26.3.6对多个元素使用f lex属性759
  • 26.3.7控制换行方式766
  • 26.3.8指定水平方向与垂直方向的对齐方式769
  • 26.4calc方法781
  • 26.4.1calc方法概述781
  • 26.4.2calc方法使用示例781
  • 第27章Media Queries相关样式783
  • 27.1根据浏览器的窗口大小来选择使用不同的样式783
  • 27.2在iPhone中的显示788
  • 27.3Media Queries的使用方法789
  • 第28章CSS 3的其他重要样式和属性792
  • 28.1颜色相关样式792
  • 28.1.1利用alpha通道来设定颜色793
  • 28.1.2alpha通道与opacity属性的区别795
  • 28.1.3指定颜色值为transparent797
  • 28.2用户界面相关样式798
  • 28.2.1轮廓相关样式799
  • 28.2.2resize属性801
  • 28.3使用initial属性值取消对元素的样式指定802
  • 28.3.1取消对元素的样式指定802
  • 28.3.2使用initial属性值并不等于取消样式设定的特例804
  • 28.4实现CSS 3中的滤镜特效805
  • 28.4.1滤镜特效概述805
  • 28.4.2实现滤镜特效806
  • 第29章综合实例815
  • 29.1实例1:使用HTML 5中新增结构元素来构建网页815
  • 29.1.1组织网页结构815
  • 29.1.2构建网页标题818
  • 29.1.3构建侧边栏820
  • 29.1.4构建主体内容823
  • 29.1.5构建版权信息829
  • 29.2实例2:使用HTML 5+CSS 3来构建Web应用程序829
  • 29.2.1HTML 5页面代码分析830
  • 29.2.2CSS 3样式代码分析833
  • 29.2.3JavaScript脚本代码分析836
  • 附录A截至2015年5月五大浏览器最新版对HTML 5的支持情况844

资源下载

资源下载地址1:https://pan.baidu.com/s/1zIHvUWgGHfBvLFZ6rjhaNw

相关资源

网友留言