在 https://www.apple.com/switch/ 页面的第七点理由「 Can I get help from a real person?」区块,有一个「向上放大淡入的 Notifications 」动画。
官网用的形状是一张 .png 图片。自己用 CSS 写出图形后,按官网的 CSS 动画添加尝试了一下,结果网页直接呈现动画结束后的目标形态,而没有任何动画播放过程。其中核心部分是(适配用的动画代码和其他样式都加了):
.变换 { transform: translateY(-70%) scale(0.9); transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s, opacity 0.45s ease-out 0.4s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s; opacity: 0; }
.变换.后 { transform: translateY(-140%) scale(1); opacity: 1; }
然后将上述两个作为 class 加入 div。网页直接显示结果,无动画过程。然而在 Safari 网页检查器中,手动反复取消/勾选 transform 却有动画效果。
是不是缺少了什么触发机制?完整实现这个动画的做法是?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.