写点什么

所有主流浏览器都已支持 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:302669

评论

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

你可能还不知道自己无知

小天同学

读书 智能时代 信息噪声 高考

架构师训练营第五周作业

talen

朱嘉明教授获2020杭州区块链国际周“特别致敬奖”

CECBC

CECBC 朱嘉明 区块链国际周 特别致敬

Spring核心原理解析

Java spring

架构师训练营第五周作业

架构师 极客大学架构师训练营

数据库周刊31丨openGauss 正式开源;7月数据库排行榜发布;oracle ADG跨版本搭建;PG解决社保问题;mysqlbinlog解析……

墨天轮

MySQL 数据库 oracle 性能优化 opengauss

架构师训练营 W5 作业

Kun

极客大学架构师训练营

kafka监听mysql实时数据变更

爱java爱自己

MySQL mysql事务

作业

chenzt

分布式缓存总结

罗亮

第五周总结

考尔菲德

一口气说出 OAuth2.0 的四种授权方式

程序员小富

Java oauth2.0

05周作业—技术选型

dao

极客大学架构师训练营 作业 一致性Hash算法

一致性Hash算法

技术小生

极客大学架构师训练营

Spring Boot读取配置文件的几种方式

Java旅途

Spring Boot properties yaml

计算机中短期学习路线

zack

第5周结构师训练营——作业

jiangnanage

Redis-进阶篇一

多选参数

数据库 redis redis高可用 redis6.0.0 Redis项目

啃碎并发(四):Java线程Dump分析

猿灯塔

让Go“恐慌”的十种方法

博文视点Broadview

Go 语言

架构师训练营 - 第五周 - 学习总结

stardust20

国内首本CTF赛事技术解析书籍,五年之约,兑现了!

华章IT

网络安全 Web CTF Reverse PWN

新增的两个区块链职业到底是做什么的?

CECBC

技术人才 系统操作 需求落地 框架搭建

“区块链+” 医疗行业场景应用迎来大发展

CECBC

医疗方案 区块链+ 场景应用落地 多元场景应用

分布式缓存一致性hash算法实现

考尔菲德

一致性hash算法的实现和平衡性测试

周冬辉

话题讨论|作为一名程序员,你下班之后都会做些什么?

InfoQ写作社区官方

写作平台 话题讨论 话题 热门活动

架构师训练营——第5周学习总结

jiangnanage

架构师训练营 -- 第五周作业

stardust20

架构师训练营--第五周学习总结

花花大脸猫

极客大学架构师训练营

Scrum Master与Project Manager的区别

Mew151

Scrum

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