写点什么

所有主流浏览器都已支持 Web Animations API

  • 2020-07-15
  • 本文字数:1006 字

    阅读完需:约 3 分钟

所有主流浏览器都已支持Web Animations API

随着 Safari 13.1 的发布,所有主流浏览器也都提供了Web Animations API支持。


早期的 Web 浏览器动画通常是使用 JavaScript API 创建的。这种方法很灵活,但难以让浏览器通过硬件加速来优化动画,也不能将其连接到布局和渲染管道。


2007 年,WebKit 团队引入了CSS AnimationsCSS Transitions,并最终成为 Web 标准。这些 API 易于使用,并弥补了早期 JavaScript 动画的不足。


但是,CSS Animations 和 CSS Transitions 存在一些限制,特别是在动态创建、回放控制和生命周期管理方面。


Web Animations API 引入了一种解决方案,提供了 CSS Animations 和 CSS Transitions 的能力,同时还提供了 JavaScript API 的灵活性。Web Animations API 通过计时模型和动画模型实现了对 Web 动画的编程控制。现在可以通过让 JavaScript 访问 playbackrate、迭代、事件等来创建和控制动画,而之前一般使用 requestAnimationFrame 或效率较低的 setInterval 来实现。


现代浏览器(如 Firefox、Safari)和所有基于 Chrome 的浏览器(如 Chrome、Edge 和 Brave)都支持 Web Animations。早期的浏览器可以借助web-animations-js和框架(如 Dojo)来使用 Web Animations API。


Web Animations 规范为 Web 动画提供了一个共享模型,CSS Animations 和 CSS Transitions 作为这个共享基础模型之上的层而存在。


所有主流浏览器都支持 Web Animations 的调试。Safari 的 Web Inspector 在 Timelines 选项卡的媒体动画和动画时间轴中包含了动画。


Firefox动画检查器会沿着时间轴同步显示动画,提供了一个可拖动的小部件,你可以用它在时间轴上的任意点移动,并在该点查看页面。Firefox 动画检查器可以显示使用 Web Animations、CSS Animations 和 CSS @keyframes 规则创建的动画。


基于 Chrome 的浏览器提供了Chrome DevTools动画检查器,开发者可以用它来查看和修改动画。Chrome 动画检查器支持 CSS Animations、CSS Transitions 和 Web Animations,但不支持 requestAnimationFrame 动画。


所有现代浏览器都提供了对原生 Web Animations 的支持和对开发人员的工具支持,JavaScript 和 Web 开发人员可以快速高效地开发原生动画。尽管花了将近 15 年才达到这个成熟阶段,对于 web 平台来说仍然是一个重大的成就。


Web Animations是一个 W3C 工作草案推荐。开发人员可以通过 W3C CSS 工作组的GitHub代码库进行协作和反馈。


原文链接


Web Animations API Now Supported in All Evergreen Browsers


2020-07-15 13:302549

评论

发布
暂无评论
发现更多内容

K8s Operator 开发完整教程

baiyutang

云原生 k8s operator PaaS

使用 Amazon Lambda 进行无服务器计算:云架构中的一场革命

亚马逊云科技 (Amazon Web Services)

容器 Amazon Lambda

Elasticsearch最佳实践:如何保证你的数据安全

腾讯云大数据

Elastic Search

OSCS开源安全周报第 57 期:Smartbi windowUnloading限制绕过导致远程代码执行

墨菲安全

网络安全 安全漏洞 oscs

华为云云耀云服务器L实例,打造极致性能的原生虚拟化设施

平平无奇爱好科技

【GO】Grafana Tempo (1) --- 架构

非晓为骁

Go 可观测性 Grafana tempo LGTM

ARTS 打卡 Week2

JimDeng

ARTS 打卡计划 ARTS活动

Apache IoTDB:更适合工业物联网场景的新型数据库,存、查、用不再是难题

Apache IoTDB

《揭秘软件开发文档:你的项目管理必备利器》

金陵老街

开发文档

如果你越来越冷漠

Chris Zhang

快手StreamLake:构建大算力基础设施体系,应对视频和大模型挑战

Geek老T

大模型 AIGC

非递归方式 实现 前中后序遍历二叉树

程序员在修行

递归

C++字符串详解

芯动大师

英文阅读 The manager's path

程序员在修行

揭示限流的力量:确保现代系统的健壮和效能

Steven

架构 分布式 限流 令牌桶 漏桶

MySQL切换字符集引发的思考(二)

石小天

MySQL 数据库 运维 后端 dba

AI 狂飙,云端 IDE 如何书写未来?TVP 吐槽大会邀您来论道

CODING DevOps

想解决技术债,你要先学会如何量化它

互联网工科生

程序员 敏捷开发 技术债 敏捷宣言

报名开启丨邀你一起探索云端 AI 新兴技术和发展模式

TRaaS

问题即答案:HarmonyOS NEXT,点燃应用生态星星之火

极客天地

ARTS 打卡第二周

程序员在修行

思考 快与慢 在工作中的应用 1

程序员在修行

中小企业要快速开展业务,为何建议用云耀云服务器L实例

平平无奇爱好科技

阿里云 X 森马 AIGC T 恤设计大赛开启!穿什么由你定,赢 Airpods,作品定制联名T恤

阿里巴巴云原生

阿里云 云原生 AIGC

netty WebSocket客户端实践

FunTester

华为云云耀云服务器L实例,助力千行百业轻松上云

平平无奇爱好科技

ARTS 打卡第 19 天

自由

ARTS 打卡计划

[ K8s Operator 开发完整教程-1 ] kind创建本地K8s集群

baiyutang

云原生 k8s operator PaaS

云计算时代,华为云云耀云服务器L实例助力中小企业与开发者轻松上云

平平无奇爱好科技

Go 格式化动词

小万哥

Go 程序员 后端 开发 Google

[ K8s Operator 开发完整教程-2 ] 使用kubebuilder直接上手

baiyutang

云原生 k8s operator PaaS

所有主流浏览器都已支持Web Animations API_大前端_Dylan Schiemann_InfoQ精选文章