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

举报
华章计算机 发表于 2019/11/23 20:27:27 2019/11/23
【摘要】 本节书摘来自华章计算机《HTML 5与CSS 3 权威指南(第4版·上册)》一作者是陆凌牛。

Web开发技术丛书

HTML 5与CSS 3 权威指南

(第4版·上册) 

1574511932241543.jpg

陆凌牛著

 

 

 

 


 

 

 

Preface前  言

为何写作本书?

如果要盘点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,谨以最真诚的心希望能与读者交流,共同成长。

 

 

 

Contents目  录

前言

上册

第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章 文件API  194

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 Storage  218

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及FetchAPI  307

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 API  328

8.4.1 告别XMLHttpRequest  328

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 SharedWorker  350

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章 通信API  376

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 API  384

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 API  390

11.3.1 Server-Sent Events API的基本概念  390

11.3.2 Server-Sent Events API的实现方法  391

11.4 BroadcastChannel API  398

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 DOM  410

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 URL  514

13.9.3 将canvas元素中的图像转换为Blob对象  515

13.9.4 简单动画的制作  518

13.9.5 解码图像  521

第14章 多媒体相关API  523

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和target  18

16.3.3 选择器first-child、last-child、nth-child和nth-last-child  22

16.3.4 选择器nth-of-type和nth- last-of-type  27

16.3.5 循环使用样式  30

16.3.6 only-child选择器  32

16.4 UI元素状态伪类选择器  33

16.4.1 伪类选择器E:hover、E:active和E:focus  34

16.4.2 伪类选择器E:enabled与 E:disabled  36

16.4.3 伪类选择器E:read-only与E:read-write  37

16.4.4 伪类选择器E:checked、E:default和E:indeterminate 38

16.4.5 伪类选择器E::selection  41

16.4.6 伪类选择器E:invalid与E:valid  43

16.4.7 伪类选择器E:required与E:optional  44

16.4.8 伪类选择器E:in-range与E:out-of-range  44

16.5 通用兄弟元素选择器  45

第17章 使用选择器在页面中插入内容  47

17.1 使用选择器来插入文字  47

17.1.1 使用选择器来插入内容  47

17.1.2 指定个别元素不进行插入  49

17.2 插入图像文件  50

17.2.1 在标题前插入图像文件  50

17.2.2 插入图像文件的好处  51

17.2.3 将alt属性的值作为图像的标题来显示  53

17.3 使用content属性来插入项目编号  53

17.3.1 在多个标题前加上连续编号  54

17.3.2 在项目编号中追加文字  55

17.3.3 指定编号的样式  55

17.3.4 指定编号的种类  56

17.3.5 编号嵌套  56

17.3.6 中编号中嵌入大编号  58

17.3.7 在字符串两边添加嵌套文字符号  59

第18章 文字与字体相关样式  62

18.1 给文字添加阴影—text-shadow属性  62

18.1.1 text-shadow属性的使用方法  62

18.1.2 位移距离  64

18.1.3 阴影的模糊半径  65

18.1.4 阴影的颜色  65

18.1.5 指定多个阴影  66

18.2 让文本自动换行—word-break属性  66

18.2.1 依靠浏览器让文本自动换行  67

18.2.2 指定自动换行的处理方法  67

18.3 让长单词与URL地址自动换行—word-wrap属性  69

18.4 指定用户是否可选取文字的user-select属性  69

18.5 使用服务器端字体—Web Font与@font-face属性  70

18.5.1 在网页上显示服务器端字体 71

18.5.2 定义斜体或粗体字体  72

18.5.3 显示客户端本地的字体  74

18.5.4 属性值的指定  76

18.6 修改字体种类而保持字体尺寸不变—font-size-adjust属性  77

18.6.1 字体不同导致文字大小的不同  77

18.6.2 font-size-adjust属性的使用方法  78

18.6.3 浏览器对于aspect值的计算方法  78

18.6.4 font-size-adjust属性的使用示例  79

18.7 使用rem单位定义字体大小  80

第19章 盒相关样式  82

19.1 盒的类型  82

19.1.1 盒的基本类型  82

19.1.2 inline-block类型  84

19.1.3 inline-table类型  91

19.1.4 list-item类型  93

19.1.5 run-in类型与compact类型 94

19.1.6 表格相关类型  95

19.1.7 none类型  97

19.1.8 各种浏览器对于各种盒类型的支持情况  98

19.2 对于盒中容纳不下的内容的显示  99

19.2.1 overflow属性  99

19.2.2 overflow-x属性与overflow-y属性  102

19.2.3 text-overflow属性  103

19.3 对盒使用阴影  105

19.3.1 box-shadow属性的使用方法  105

19.3.2 将参数设定为0  105

19.3.3 创建盒内阴影  107

19.3.4 对盒内子元素使用阴影  107

19.3.5 对第一个文字或第一行使用阴影  108

19.3.6 对表格及单元格使用阴影 109

19.4 指定针对元素的宽度与高度的计算方法  110

19.4.1 box-sizing属性  110

19.4.2 为什么要使用box-sizing属性 113

第20章 背景与边框相关样式  115

20.1 与背景相关的新增属性  115

20.1.1 指定背景的显示范围—background-clip属性  116

20.1.2 指定背景图像的绘制起点—background-origin属性  118

20.1.3 指定背景图像的尺寸—background-size属性  120

20.1.4 新增的用于平铺背景图像的选项—space与round 124

20.2 在一个元素中显示多个背景图像 126

20.3 使用渐变色背景  127

20.3.1 绘制线性渐变  127

20.3.2 绘制放射性渐变  130

20.4 圆角边框的绘制  133

20.4.1 border-radius属性  134

20.4.2 在border-radius属性中指定两个半径  134

20.4.3 不显示边框的时候  135

20.4.4 修改边框种类的时候  136

20.4.5 绘制四个角不同半径的圆角边框  136

20.5 使用图像边框  136

20.5.1 border-image属性  136

20.5.2 border-image属性的最简单的使用方法  138

20.5.3 使用border-image属性来指定边框宽度  139

20.5.4 指定4条边中图像的显示方法  140

20.5.5 使用背景图像  143

第21章 CSS 3中的变形处理  145

21.1 transform功能的基础知识  145

21.1.1 如何使用transform功能  145

21.1.2 transform功能的分类  146

21.2 对一个元素使用多种变形  151

21.2.1 对一个元素使用多种变形的方法  151

21.2.2 指定变形的基准点  154

21.3 使用3D变形功能  156

21.3.1 3D变形功能概述  156

21.3.2 实现3D变形功能  157

21.4 变形矩阵  165

21.4.1 矩阵概述  165

21.4.2 变形与坐标系统  166

21.4.3 计算2D变形  166

21.4.4 计算3D变形  168

21.4.5 通过矩阵执行多重变形处理  169

第22章 CSS 3中的动画功能  172

22.1 Transitions功能  173

22.1.1 Transitions功能的使用方法  173

22.1.2 使用Transitions功能同时平滑过渡多个属性值  174

22.2 Animations功能  177

22.2.1 Animations功能的使用方法  177

22.2.2 实现多个属性值同时改变的动画  180

22.2.3 实现动画的方法  183

22.2.4 实现网页的淡入效果  184

22.3 Web Animations API  185

22.3.1 Web Animations API的基本概念  185

22.3.2 Web Animations API的使用示例  186

22.3.3 控制动画播放  190

第23章 布局相关样式  194

23.1 多栏布局  195

23.1.1 使用float属性或position属性的缺点  195

23.1.2 使用多栏布局方式  196

23.2 盒布局  202

23.2.1 使用float属性或position属性时的缺点  202

23.2.2 使用盒布局  204

23.2.3 盒布局与多栏布局的区别 205

23.3 弹性盒布局  206

23.3.1 对多个元素使用flex属性 206

23.3.2 改变元素的显示顺序  208

23.3.3 改变元素的排列方向  209

23.3.4 元素宽度与高度的自适应 210

23.3.5 使用弹性盒布局来消除空白 213

23.3.6 对多个元素使用flex属性 214

23.3.7 控制换行方式  221

23.3.8 指定水平方向与垂直方向的对齐方式  224

23.4 网格布局  236

23.4.1 网格布局概述  236

23.4.2 定义网格布局  237

23.4.3 命名网格线  241

23.4.4 使用区域  243

23.5 calc方法  247

23.5.1 calc方法概述  247

23.5.2 calc方法使用示例  247

第24章 媒体查询表达式与特性查询表达式  249

24.1 媒体查询表达式  250

24.1.1 根据浏览器的窗口大小来选择使用不同的样式  250

24.1.2 在iPhone中的显示  254

24.1.3 媒体查询表达式的使用方法  255

24.2 特性查询表达式  257

第25章 CSS 3的其他重要样式和属性  260

25.1 颜色相关样式  260

25.1.1 利用alpha通道来设定颜色 261

25.1.2 alpha通道与opacity属性的区别  263

25.1.3 指定颜色值为transparent 265

25.2 用户界面相关样式  266

25.2.1 轮廓相关样式  267

25.2.2 resize属性  269

25.3 使用initial属性值取消对元素的样式指定  270

25.3.1 取消对元素的样式指定  270

25.3.2 使用initial属性值并不等于取消样式设定的特例  272

25.4 用于控制鼠标事件的pointer-events属性  273

25.5 实现CSS 3中的滤镜特效  274

25.5.1 滤镜特效概述  274

25.5.2 实现滤镜特效  275

25.6 CSS变量  284

25.6.1 CSS变量的基本概念  284

25.6.2 CSS变量的定义方法  284

25.6.3 CSS变量的继承  285

25.6.4 使用var函数  286

25.6.5 在JavaScript脚本代码中使用CSS变量  289

第26章 综合实例  291

26.1 实例概述  291

26.2 HTML 5页面代码分析  292

26.3 CSS 3样式代码分析  295

26.4 JavaScript脚本代码分析  299

26.4.1 保存与读取本地数据库中数据  300

26.4.2 使用Fetch API读取服务器端数据及提交数据到服务器端 306

26.4.3 保存与读取LocalStorage中数据  308

26.4.4 页面完整脚本代码  309


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。