QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

评论

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

Python——字符串查找/替换/分割

在即

6月日更

MySQL基础之八:外连接

打工人!

myslq 6月日更

智慧组工系统搭建,组织部干部任免系统

算法训练营 - 学习笔记 - 第九周

心在飞

【21-3】PowerShell 环境

耳东@Erdong

PowerShell Windows Server 6月日更

react源码解析10.commit阶段

全栈潇晨

react源码

从 Alpha 到 Beta,这次是 New mPaaS

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS

一文说尽 Linux 系统的 swap 交换空间

看山

Linux 6月日更

require() 方法详解

编程三昧

nodejs modules 模块 require

关于 JavaScript 是否加分号的问题

KooFE

6月日更

☕【JVM技术探索】Class字节码指令方法调用初探

码界西柚

Java JVM 6月日更 字节码指令

区块链如何赋能数字城市建设?

CECBC

欧洲杯发布首座区块链奖杯:中国设计师创作,灵感来源小篆

CECBC

如何在手机上保护自己的隐私?

石云升

隐私保护 数据安全 6月日更

时代变了,程序员の老冤家IE浏览器离场啦?!

空城机

JavaScript 微软 大前端 IE 6月日更

Fork原项目新增分支的同步和推送

Skysper

git

【FlinkSQL】Flink SQL Query 语法(一)

Alex🐒

flink 翻译 FlinkSQL flink1.13

Alibaba大佬用了3个月,把Java后端95%的技术体系都整理出来了!

Java架构师迁哥

绿色数据时代,全闪存与数据中心的注定邂逅

脑极体

常见词向量模型

Qien Z.

6月日更 词向量 SkipGram 矩阵分解 Glove

《原则》(十)

Changing Lin

6月日更

签约落地!百度、山东共建人工智能数据标注产业基地

百度大脑

人工智能 百度智能云

5分钟速读之Rust权威指南(二十)

wzx

rust

百度创新发布“炫瞳活体”技术!起底金融级人脸实名认证方案背后的硬实力

百度大脑

人工智能

Kubernetes手记(7)- 控制器配置清单

雪雷

k8s 6月日更

你真的很忙么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

【FlinkSQL】Flink SQL CREATE 语法

Alex🐒

flink 翻译 FlinkSQL flink1.13

MySQL 亿级数据分页的优化

xcbeyond

MySQL 数据库优化 6月日更

☕️【Java技术之旅】带你实战使用String的功能特性

码界西柚

Java string 字符串 6月日更

【Vue2.x 源码学习】第十篇 - 数组数据变化的观测情况

Brave

源码 vue2 6月日更

每日互动CTO谈数据中台(下):从演进、经验到规划

个推

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