vue项目中在scss中使用js的值

最近写项目的时候用到了动画,创建动画的过程中需要根据数据量的多少来进行位移,这个时候就需要在scss中用到js中的值,我们固然可以在template中使用行内样式去设置属性,如下所示:

<div class="test" :style="{ margin: offset}">

这里的offset毫无疑问就是js中的一个变量了。这种方式固然不错,但是很明显不能满足我的效果,因为定义动画并不是给元素设置样式,我需要通过js的值来判断我正在定义动画时到底应该设置多少值才能达到我想要的效果。很明显这里应该使用css变量来完成,具体实现可以看一下例子

<div
  class="animation	"
  :style="{
     '--lengthCorrection': lastQualityList.length - 5,
     '--timeing': lastQualityList.length + 's',
    }"
></div>

@keyframes ani {
  0% {
    transform: translateY(calc((+18% + 6px) * var(--lengthCorrection)));
  }
  100% {
    transform: translateY(calc((-18% - 6px) * 5));
  }
}

参考https://blog.csdn.net/lihefei_coder/article/details/104815616/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值