css - 带有 CSS 变量和 @keyframes 的 CSS 动画未在 Safari 上更新
问题描述
我正在使用 CSS 变量制作动画,其中 CSS 变量值会根据页面滚动而变化。然后将该变量用于具有关键帧的动画。
最初它仅在 Firefox 上正确更新。同时,我找到了一种让它在 Chrome 上工作的方法,通过强制重新绘制,在这种情况下,将颜色从 #000 设置为 #001。
/* --scale is dynamic changed by JS */
@keyframes move {
0% {
transform: translateX(0) scale(var(--scale));
color: #000;
}
100% {
transform: translateX(33vw) scale(1.5);
color: #001;
}
}
你可以在 codepen看到一个演示
解决方案
我也遇到了这个问题,并通过element.style.animation
在调用后在 JavaScript 中设置属性来解决它setProperty()
。在 CSS 中设置后似乎@keyframes
没有更新。animation
推荐阅读
- ios - 修复放大或缩小图像 Swift 时 UIButton 的位置
- vb.net - 如何在 vb.net 中格式化没有带有 2 个十进制数字的变量的文本框值?
- sql - 我不知道如何显示光标数据 oracle
- php - 如何在 PHP 中从 MySQL 生成具有多个变量的 sysID
- android - 如何使用带有对象的 ARCore 相机捕获图像?
- xcode - CMake INTERPROCEDURAL_OPTIMIZATION for Debug only targets
- asp.net-mvc - 如何从 C# 中的服务器 IP 获取或同步日期和时间(后端代码)
- textx - 尽管 textX 命令有效,但在运行功能性 python 测试时出现 ModuleNotFoundError
- java - 如何使用 EasyMock 模拟 void 方法,然后如何使用断言对其进行测试?
- c# - 如何处理 != 和 || 在c#中