如何用 CSS 或 Web 动画替换已弃用的 SMIL SVG 动画?
使用CSS或Web动画代替已弃用的SMIL SVG动画
简介
由于SMIL(同步)的弃用SVG(可扩展矢量图形)中的多媒体集成语言)动画,必须找到使用 CSS 或 Web 动画的替代方法。此转换有助于提高现代浏览器的性能和兼容性。
替换悬停效果
- 删除 SMIL 设置标签。
-
添加CSS悬停规则:
<code class="css">.element_tpl:hover { stroke-opacity: 0.5; }</code>
登录后复制
替换缩放动画
-
使用CSS进行缩放:
<code class="css">.element_tpl { transform: scale(1); } .element_tpl:active { transform: scale(1.1); }</code>
登录后复制 - 请注意,与 SMIL 动画相比,这可能会导致行为略有不同。
替换点击动画
-
使用 CSS 关键帧在单击元素时设置过渡动画:
<code class="css">@keyframes click-anim { from { transform: scale(1); } to { transform: scale(1.15); } } .element_tpl { animation: click-anim 0.2s forwards; animation-delay: 0.2s; }</code>
登录后复制 - 同样,该行为可能与原始 SMIL 动画略有不同。
工作示例
<code class="html"><g id="switcher" cursor="pointer" stroke-width="0.15"> <g transform="scale(1,1.375)"> <g> <rect x="-0.5" y="-0.5" width="1" height="1" stroke="white" pointer-events="none"/> <rect x="-0.5" y="-0.5" width="1" height="1" fill="white"> <line x1="0" y1="-0.25" x2="0" y2="0.25" stroke-width="0.17" stroke-linecap="round" pointer-events="none"/> </rect> </g> </g> </g></code>
登录后复制
<code class="css">#switcher { transform: scale(1); } #switcher:hover { stroke-opacity: 0.5; } #switcher:active { transform: scale(1.1); } @keyframes click-anim { from { transform: scale(1); } to { transform: scale(1.15); } } #switcher:active { animation: click-anim 0.2s forwards; animation-delay: 0.2s; }</code>
登录后复制
保存现有动画
提供的链接包含比问题中的示例更复杂的动画。将它们转换为 CSS / Web 动画将需要更多的努力和自定义代码。建议使用下面答案中提到的 SMIL polyfill 来维护现有的 SMIL 动画,同时过渡到现代浏览器支持。
以上是如何用 CSS 或 Web 动画替换已弃用的 SMIL SVG 动画?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前
By DDD
如何修复KB5055523无法在Windows 11中安装?
2 周前
By DDD
Inzoi:如何申请学校和大学
4 周前
By DDD
如何修复KB5055518无法在Windows 10中安装?
2 周前
By DDD
在哪里可以找到Atomfall中的站点办公室钥匙
4 周前
By DDD

热工具

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

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

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

Dreamweaver CS6
视觉化网页开发工具

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

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...
