Page 231 - css揭秘
P. 231

有五个关键字都有其对应的 cubic-bezier() 形式的值。举例来说,ease
                                              等 同 于 cubic-bezier(.25,.1,.25,1), 因 此 它 的 反 向 版 本 就 是 cubic-
                                              bezier(.1,.25,1,.25),如图 8-6 所示。通过这种方法,我们的回弹动画就
                                              可以使用 ease 了,并且看起来更加真实:

                                                  @keyframes bounce {
                                                      60%, 80%, to {
                                                          transform: translateY(400px);
                                                          animation-timing-function: ease;
                                                      }
                                                      70% { transform: translateY(300px); }
                                                      90% { transform: translateY(360px); }
                                                  }
                                                  .ball {
                     动画进度                             /* 外观样式 */
                                                      animation: bounce 3s cubic-bezier(.1,.25,1,.25);
                     时间                           }

                    图 8-6                         借助一款类似 cubic-bezier.com 的图形化工具(参见图 8-7),我们可
                    ease 调速函数的反向版本            以反复尝试和优化,从而进一步改进这个回弹动画。
                                               试一试 play.csssecrets.io/bounce


                                                    在 Dan Eden(http://daneden.me) 编 写 的 animate.css 动 画 库 中,
                                                所用到的调速函数分别是 cubic-bezier(.215,.61,.355,1) 和 cubic-
                                                bezier  (.755,.05,.855,.06)(后者并不是前者的反向版本,它的曲线
                                                更加陡峭,效果也更加逼真)。
                                  致 敬

                    图 8-7
                    三次贝塞尔曲线有一个饱受诟病的
                    缺点:在没有可视化界面的情况
                    下,它极难编辑和理解;用于描述
                    CSS 动画的调速函数时更是如此。
                    不过幸运的是,有一些在线工具是
                    专门为此而生的,比如由笔者倾情
                    打造的 cubic-bezier.com
                                                动画进度


                                                 时间















                  200   第 8 章 过渡与动画







          ඀ࠡ  JOEC
   226   227   228   229   230   231   232   233   234   235   236