写点什么

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

评论

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

将JSON中对于集合的数据,如何解析成对象集合

卢卡多多

集合 Stream<T> 9月日更

模块七作业

seawolflin

架构实战营

redis--zset解析

en

redis Zset 引航计划

redis主从实践(一)

风翱

redis 9月日更

Parted 创建 GPT 分区

耳东@Erdong

Linux 9月日更 parted 磁盘分区

Context 和 struct

Rayjun

struct Context Go 语言

科技的进步会造福人类吗--闲聊科幻

姬翔

9月日更

Vue进阶(幺零八):npm run build 错误 (node:7852) UnhandledPromiseRejectionWarning: CssSyntaxError:xxxx. 解决分析

No Silver Bullet

Vue 9月日更

灯塔之上:vivo X70背后的影像进化史

脑极体

【网络安全】Spring框架漏洞总结(二)

网络安全学海

黑客 网络安全 信息安全 WEB安全 漏洞挖掘

全方位解读服务网格(Service Mesh)的背景和概念

xcbeyond

Service Mesh 服务网格 引航计划

翻转未来!钢铁之城重添色彩

白洞计划

Golang 中的好代码 VS 烂代码

baiyutang

编码 Go 语言 9月日更

常用特殊符号大全

入门小站

工具

服务注册与发现的原理和实现

万俊峰Kevin

微服务 服务注册与发现 microservice 服务发现 Go 语言

【LeetCode】有效的括号字符串Java题解

Albert

算法 LeetCode 9月日更

Python——函数正确调用

在即

9月日更

为何数据类大项目都会先做盘点??

奔向架构师

数据仓库 数据治理 9月日更

双指针算法之同向双指针

泽睿

Java 数据结构 面试 双指针算法

一名优秀的技术Leader是如何炼成的?

架构精进之路

管理 技术管理 引航计划 内容合集

写给互联网工程师的5G书 | 0. 前言

俞凡

架构 5G

通过编程训练题来讲讲链表操作

Regan Yue

算法 链表 9月日更

【VueRouter 源码学习】第九篇 - router-view 组件的实现

Brave

源码 vue-router 9月日更

linux之chsh命令

入门小站

Linux

分享 4 个前端开发必备的 Chrome 扩展

devpoint

SVG chrome扩展 9月日更

【Flutter 专题】49 图解 Flutter 与 Android 原生交互

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

HTML进阶(三)

Augus

html 9月日更

手撸二叉树之二叉搜索树中的众数

HelloWorld杰少

9月日更

网络攻防学习笔记 Day133

穿过生命散发芬芳

网络基础 9月日更

数据结构和算法应用

Albert

算法 9月日更

Redis核心原理与实践--列表实现原理之ziplist结构

binecy

redis 源码分析

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