如何将已弃用的 SMIL SVG 动画迁移到使用 CSS 和 Web 动画?
将已弃用的 SMIL SVG 动画迁移到 CSS 和 Web 动画
简介
随着 SMIL 动画的弃用,有必要寻找替代方法用于创建 SVG 动画。本文探讨了如何使用 CSS 和 Web 动画来替代 SMIL 动画,重点关注悬停效果、元素缩放和状态切换等常见场景。
使用 CSS 实现悬停效果
要使用CSS实现鼠标悬停效果,您可以修改现有的SMIL代码,如下所示:
.element_tpl:hover { stroke-opacity: 0.5; }
当光标悬停在元素上时,这将通过减少笔画不透明度来应用悬停效果。
使用 CSS 或 Web 动画缩放元素
要在更改后多次缩放元素,您可以使用 CSS 或 Web 动画。下面是 CSS 方法:
.element_tpl { animation: scaleAnimation 0.5s infinite; } @keyframes scaleAnimation { 0% { transform: scale(1); } 50% { transform: scale(1.12); } 100% { transform: scale(1); } }
或者,您可以使用 Web 动画:
let element = document.querySelector('.element_tpl'); let animation = element.animate([ { transform: 'scale(1)' }, { transform: 'scale(1.12)' }, { transform: 'scale(1)' } ], { duration: 500, iterations: Infinity });
使用 CSS 或 Web 动画进行放大和缩小动画
制作动画单击时放大或缩小的元素,您可以使用 CSS 或 Web 动画。 CSS 方法如下:
.element_tpl:active { transform: scale(1.1); }
对于 Web 动画:
let element = document.querySelector('.element_tpl'); element.addEventListener('click', () => { element.animate([ { transform: 'scale(1)' }, { transform: 'scale(1.1)' }, { transform: 'scale(1)' } ], { duration: 400, iterations: 1 }); });
使用 Polyfill 保留 SMIL 动画
虽然 SMIL 支持在 Chrome 中被替换为 Polyfill,它仍然可以用来保存现有的动画。 Eric Willigers 的 SMIL polyfill(可在 https://github.com/ericwilligers/svg-animation 获取)可用于在不再原生支持 SMIL 动画的现代浏览器中运行 SMIL 动画。
以上是如何将已弃用的 SMIL SVG 动画迁移到使用 CSS 和 Web 动画?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

有很多分析平台可帮助您跟踪网站上的访问者和使用数据。也许最著名的是Google Analytics(广泛使用)
