SVG动画
  • 推荐0
  • 收藏0
  • 浏览351

SVG动画

Russell Jurney (作者)  大漠等 (译者)

  • 书  号:978-7-121-33790-1
  • 出版日期:2018-05-01
  • 页  数:220
  • 开  本:16(178*233)
  • 出版状态:上市销售
  • 原书名: SVG Animations: From Common UX Implementations to Complex Responsive Animation
  • 原书号:9781491939703
  • 维护人:张春雨
在制作Web动画效果时,使用SVG制作动画是我们应该掌握的技能之一。本书详细介绍了 SVG的基础知识、如何使用SVG制作动画、制作SVG动画的工具及相关的JavaScript库。除些之外,本书也探讨了SVG还能做的一些十分有趣的事情,比如数据可视化、可伸缩的矢量图、响应式设计等。Sarah为广大读者提供了一本非常优秀的书籍,可帮助读者更系统地掌握SVG和 SVG制作动画相关的技术知识。如果你想掌握这项技术,那么本书是值得你花时间去阅读和研究的一本书。
完整体系:系统化学习SVG上选 技术与工具大全 用特效讲故事|可视化数据|极致化用户交互|浏览器Hack
大漠:W3CPlus创始人,目前就职于淘宝。对HTML5、CSS3和CSS处理器等前端脚本语言有非常深入的认识和丰富的实践经验,尤其专注对CSS3和动画的研究,是国内最早研究和使用CSS3和CSS处理器技术的一批人。现在主要在探讨学习JavaScript、React和Vue相关技术知识。CSS3、CSS处理器和Drupal中国布道者。2014年出版《图解CSS3:核心技术与案例实战》。

姜天意: 昵称99,阿里巴巴盒马鲜生前端开发专家,目前主要负责盒马数据可视化相关产品的研发。

田淮仁:腾讯前端开发,PWA 和 httplive 开源项目作者。热爱分享,有自己的博客:villainhr.com 和微信公众号:前端小吉米。对 H5 音视频技术,直播和 P2P 有一定的技术积累。

欧阳湘粤: 大四准毕业码农,曾在百度和腾讯实习,对新技术有着强烈的热爱,喜欢折腾新事物,希望未来能够继续学到更多有意思的东西,Long May The Sunshine。

小春:摩拜前端负责人,前滴滴公共前端负责人。担任过 GIAC 全球互联网架构大会 - 前端出品人;写过 3 本前端书籍,最近一本:国内第一本 Vue.js 书籍《Vue.js权威指南》;乐于分享和学习交流,参加过 vueconf、SDCC 2016 中国软件开发者大会等。
译者序
众所周知,SVG(可缩放矢量图)对于 Web而言并不是一个全新的课题,只不过近些年 SVG在 Web页面或者 Web应用程序中使用的频率越来越高。这次非常荣幸能和社区的小伙伴一起参与翻译 Sarah的著作。
SVG自发明以来沉寂了非常长的一段时间,由于浏览器厂商对 SVG技术支持不够强大,所以在 Web中的使用机会并不多,而且其发展也是曲折的。不过值得庆幸的是, SVG以它优秀的兼容性、可适配性在开源社区重新拥有了重要的地位,而且近一两年来,使用 SVG的场景也越来越多。
相对而言,SVG具有如下一些独特的优点。
. 数据可视化:真实的数据直观地表达了人们想要表达的想法,并且易于复杂思想的交流和展现,而 SVG对于数据可视化的展示来说具有一定的优势和可扩展性。

. 响应式:对于设备品类繁多的今天,如果要让一张图片能很好地兼容各种设备平台,那么 SVG是最佳选择之一。因为 SVG是矢量图,其具有独特的可伸缩性,能很好地适应各种屏幕尺寸的设备。

. 性能表现:如果在 Web应用或 Web页面中正确使用 SVG,可以减少网站加载的资源,特别是在响应式 Web应用中,这个特性显得更为显著。

. 可操作的 DOM结构:对于开发者而言, SVG还有另一个有吸引力的特性,那就是它类似于 HTML,具有可操作的 DOM。这意味着用户可以使用代码直接实现想要的矢量图效果,而且还能为屏幕阅读器提供更多的信息,并且可以很好地通过给 DOM添加适合的动画,让 SVG炫动起来。


本书由始至终都贯穿着 SVG的相关知识。我们将讨论 SVG DOM的基础知识,它结构简单,能让人感觉代码浅显易懂。还将讨论 SVG性能方面的知识,将学到如何精简 SVG文件的体积和结构,借此避免网站性能由于 SVG的原因大打折扣。必不可少的,我们还会讨论如何通过 CSS 和 JavaScript 制作 SVG 动画,来完成优美且有趣的动画效

目录

目录
序. ..xiv
前言xvi

第 1章 剖析 SVG. ....................... 1

SVG DOM语法 ............................ 2
viewBox 和 preserveAspectRatio .. 2
绘制图形 ....................................... 5
响应式 SVG、组和绘制路径 ........ 6
SVG 的导出、建议及优化 ............ 9
减少路径点 ................................. 11
优化工具 ..................................... 12

第 2章 使用 CSS制作 SVG动画...14

用 SVG做动画............................ 16
使用 SVG绘图的优势 ................ 18
顺畅的动画体验 .......................... 20

第 3章 CSS.动画和手绘 SVG.Sprite. .....................................21

使用 steps()和 SVG Sprite制作关键帧动画 ....................... 21
在 Illustrator中使用模板绘制 ..... 24
在 SVG编辑器或图纸中逐帧绘制并且使用 Gruntiocon生成 Sprite .......................... 26
用简易代码模拟复杂运动 ........... 26
简单重复行走 ............................. 27




第 4章 创建响应式.SVG.Sprite. ... 32

用于响应式的 SVG Sprite图和 CSS ................................... 33
分组和导出 ................................. 35
viewBox的技巧 .......................... 36
响应式动画 ................................. 37

第 5章 不使用任何额外库来创建 UI/UX动画............................. 39

用户体验模式中的上下文切换 ... 39
变形 ..................................... 41
展现 ..................................... 41
隔离 ..................................... 42
样式 ..................................... 43
预期提示 ............................. 45
交互 ..................................... 46
节约空间 ............................. 47
总结 .... 48
变换的图标.......................... 48

第 6章 动态数据可视化............... 55

为什么要在数据可视化中使用动画 .................................... 56
使用 CSS动画的 D3示例 ........... 56
使用 CSS动画的 Chartist示例 ... 59
用 D3 来做动画........................... 61
链式和重复.......................... 64

第 7章 Web动画技术大比拼........ 65

原生动画 ..................................... 65
CSS/Sass/SCSS.................... 65
requestAnimationFrame() .... 67
canvas .................................. 67
Web 动画 API ...................... 68
第三方框架 ................................. 68
GreenSock(GSAP) ............ 68
mo.js .................................... 69
Bodymovin’ ........................ 70
不推荐使用 ................................. 70
SMIL ................................... 70
Velocity.js ............................ 70
Snap.svg .............................. 71
基于 React的动画工作流 ........... 71
React-Motion ....................... 72
在 React中使用 GSAP ........ 73
在 React中使用 canvas ....... 73
在 React中使用 CSS ........... 73
总结 .... 74

第 8章 用 GreenSock做动画...... 75

GreenSock的基本语法 ............... 76
TweenMax/TweenLite .......... 76
.to/.from/.fromTo ................. 76
Staggering ........................... 77
element ................................ 79
Duration .............................. 79
delay .................................... 79
动画的属性 ................................. 79
easing .................................. 81

第 9章 GreenSock中的时间轴. ... 83

一个简单的时间轴 ...................... 83
相对标签 ..................................... 85
主时间轴和所嵌套的场景 ........... 89
代码的逻辑组织 .................. 90
循环 ..................................... 92
暂停和暂停事件 .................. 94
其他关于时间轴的方法 ....... 95

第 10章 MorphSVG.和路径动画.. 98

MorphSVG .................................. 98
findShapeIndex() ................. 99
路径动画 ................................... 101




第 11章 交错效果、Tweening.HSL和 SplitText的文本动画......106
交错的动画 ............................... 106
HSL颜色渐变动画 ................... 110
文字切分 ................................... 114

第 12章 DrawSVG和 Draggable...................................... 117

Draggable.................................. 117
drag类型 ........................... 119
hitTest() ............................. 119
用 Draggable来控制时间轴 ...................................... 120
DrawSVG .................................. 122

第 13章 mo.js. .......................125

mo.js基础介绍 .......................... 125
图形 .. 125
图形的运动 ............................... 128
链式调用 ........................... 130
旋涡动画 ........................... 131
爆炸式的效果 .................... 133
时间轴控制工具 ................ 134
补间动画 ........................... 135
路径函数 ........................... 136
mo.js提供的辅助工具 .............. 137

第 14章 React-Motion...........140

................................ 141
................. 146

第 15章 动“不可动者”:通过改变属性使用原生 JavaScript实现动画....150
requestAnimationFrame() .......... 150
GreenSock的 AttrPlugin ........... 155
实际应用: viewBox动画 ......... 158
另一个演示 :一个有引导作用的信息图 .................... 164

第 16章 响应式动画..................165

快速响应的技巧 ........................ 165
GreenSock和响应式 SVG ......... 165
不使用 GreenSock实现响应式 SVG ................................. 169
通过更新 viewBox实现响应式 . 170
具有多个 SVG和媒体查询的响应式 ................................ 173
花更少的精力在移动端 ..... 176
有一个计划........................ 176

第 17章 组件库的设计、原型化和动画原理...............................177

动画设计方面 ........................... 177
学会勾勒实际运动中的细节 ..................................... 178
合理控制动画的使用 ......... 179
拥有特色的设计主见 ................................................. 180
提升开发水平 .................... 181
设计原型 ................................... 182
逐步分割动画细节 ............ 182
工具 ................................... 184
杀死汝爱 ........................... 186
设计和编码的工作流程 ..... 187
制作动画组件库 ........................ 187
权衡动画开发的优先级 ..... 190
时间就是金钱 .................... 191
其他方面的限制 ................ 193

索引.......................................194

读者评论

相关图书

JavaScript语言精髓与编程实践(第3版)

周爱民 (作者)

本书详细讲述JavaScript作为一种混合式语言的各方面特性,包括过程式、面向对象、函数式和动态语言特性等,在动态函数式语言特性方面有着尤为细致的讲述。本书主...

¥144.00

狼书(卷2):Node.js Web应用开发

桑世龙 (作者)

目前市面的nodejs书籍基于0.10的为多,而基于最新4.X的非常少,本书是唯一一本基于node.js 4.0以上版本的书。而Koa是下一代node web的...

¥69.30

狼书(卷1):更了不起的Node.js

狼叔 桑世龙 (作者)

Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为...

¥55.30

Koa与Node.js开发实战

Node.js 10已经进入LTS时代!其应用场景已经从脚手架、辅助前端开发(如SSR、PWA等)扩展到API中间层、代理层及专业的后端开发。Node.js在企...

¥49.00

Vue.js快跑

Callum Macrae (作者) 刘腾辉 (译者)

本书是用Vue.js构建Web应用的全方位指南。作者运用细致入微的讲解方式带你领略Vue.js的独特魅力,致力于协助你从零开始基于Vue.js创建一个Web应用...

¥69.00

React状态管理与同构实战

侯策 颜海镜 (作者)

React自开源以来,便以革命性的设计理念迅速颠覆了前端开发的传统意义,其倡导的组件化、状态管理、虚拟DOM等思想极大提高了前端开发效率。为了更加高效地维护Re...