写点什么

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

评论

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

学生管理系统(3)

5月月更

架构训练营毕业设计:电商秒杀系统

AragornYang

架构训练营 架构实战营

IntelliJ IDEA如何clean或者install Maven项目

爱好编程进阶

程序员 后端开发

Nacos源码系列—订阅机制的前因后果(上)

牧小农

源码 nacos

模块九作业 - 设计电商秒杀系统

smile

架构实战营

Go Web 编程入门:快速了解Fiber框架

宇宙之一粟

Go 语言 Fiber 5月月更

SpringWebFlux中WebClient怎么打印日志?

编号94530

spring 日志 WebFlux WebClient

数据库连接池 -Druid 源码学习(五)

wjchenge

Druid 数据库连接池

K8S 准入控制器有哪些是默认的?

baiyutang

Docker Kubernetes 云原生 k8s 5月月更

设计模式之代理模式

乌龟哥哥

5月月更

网站开发进阶(六十四)CSS 属性选择器讲解

No Silver Bullet

CSS 属性选择器 5月月更

Java 集合看这一篇就够了

爱好编程进阶

程序员 后端开发

架构实战营模块5作业

天琪实刚亮

AI简报:图像超分模型RCAN+SRResNet

AIWeker

人工智能 深度学习 5月月更 超分

k8s client-go源码分析 informer源码分析(3)-Reflector源码分析

良凯尔

容器 云原生 Kubernetes 集群 Client-go

Java进阶备战金九银十88道真题:多线程+集合

爱好编程进阶

Java 程序员 后端开发

架构训练营 毕业总结

AragornYang

架构训练营 架构实战营

MPEG-TS封装格式

Loken

音视频 5月月更

Dart 2.17发布,新特性速递

岛上码农

flutter ios 安卓开发 跨平台开发 5月月更

从AI数羊到“相牛”:人工智能应用如何低门槛化?

脑极体

15-操作DOM对象

爱好编程进阶

Java 程序员 后端开发

druid 源码阅读(五)初始化连接池总结

爱晒太阳的大白

5月月更

druid 源码阅读 5——讨论下druid为什么不用AtomicLong

张大彪

Java字节流和字符流,是时候总结一下IO流了

爱好编程进阶

程序员 后端开发

架构实战营 - 毕业总结

smile

架构实战营

Druid连接池源码阅读05

石小天

有了测试组,为什么还要QA?

高山

测试 QA CMMI

5分钟学会 Vim 分屏操作方方面面

爱好编程进阶

Java 程序员 后端开发

ElasticSearch 概述

爱好编程进阶

Java 程序员 后端开发

JDBC访问数据库的一些小技巧

爱好编程进阶

程序员 后端开发

KMP子字符串匹配算法学习笔记

爱好编程进阶

Java 程序员 后端开发

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