将 var 添加到 css 类中

Posted

技术标签:

【中文标题】将 var 添加到 css 类中【英文标题】:Add var into css class 【发布时间】:2020-11-04 16:16:21 【问题描述】:

我目前正在编写一个循环制作动画的组件,动画时间是传递给组件的道具。

我的问题如下: 动画是用 CSS 制作的:

animate:
   -webkit-transition: 10.0s !important;
   -moz-transition: 10.0s !important;
   -o-transition: 10.0s !important;
   transition: 10.0s !important;

我想在这个类声明中传递持续时间,但这似乎是不可能的,我正在使用这些 CSS 技巧来重新启动动画:https://css-tricks.com/restart-css-animation/ 这包括一个类的使用。

有什么方法可以在 Vue.js 中用 vars 初始化一个类,或者在循环中制作一个以持续时间为参数的 CSS 动画?

【问题讨论】:

你可以做类似 document.getElementById("myDIV").style.transitionDuration = this.props.duration CSS 是静态的,所以你只能在运行时修改 DOM 中的元素来改变它 是的,我就是这么想的,有没有一种很好的方法来重置 Vue.js 中的动画而不需要上面的 css 技巧或编辑已经声明到 dom 中的类? 【参考方案1】:

如果你使用变量,css 不是静态的 可以吗

:root
   --primary-animation:10s;


animate:
   -webkit-transition: var(--primary-animation) !important;
   -moz-transition: var(--primary-animation) !important;
   -o-transition: var(--primary-animation) !important;
   transition: var(--primary-animation) !important;

在组件上

created()
  document.documentElement.style.setProperty('--primary-animation', this.myCustomProperty+"s")


【讨论】:

以上是关于将 var 添加到 css 类中的主要内容,如果未能解决你的问题,请参考以下文章

如何将 alpha 值添加到 css 中的变量?

将 CSS 类添加到元素的技术的名称是啥?

如何将自定义 css 工具提示添加到 extjs 列标题?

如何将模板类添加为普通类中的成员

将单独类中的多个组件添加到另一个类中的 JFrame

css动态添加父元素