uni-app 在样式里设置变量值,现实样式值动态修改

本文介绍了如何在Vue中利用CSS变量实现动态动画效果。详细讲述了变量定义、使用及通过JavaScript更新变量值的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     在样式里使用 var(变量名称) ,变量名称必须以 -- 开头 ,否则无效。如:var(--myfirst)

<style scoped>
  
  .animation
  {
    position:relative;
    animation:myfirst 1s linear;
    animation-fill-mode: both;    
  }
  
/*  @keyframes myfirst{100% { top:-10px;}} */
  @keyframes myfirst{100% { top:var(--myfirst);}}
</style>

      随后在data加入temp 变量。 试了其他名称 tempss 好像也不起作用 ,只能使用 temp名称了。

变量名称和需要赋值的内容必须字符串包裹起来。如:temp: '--myfirst: 0px;'

<script>
  export default {
    data() {
      return {
        temp: '--myfirst: 0px;'
      }
    },
    onLoad() {
        const query = uni.createSelectorQuery().in(this);
        query.select('#goods_'+id).boundingClientRect(data => {
          this.translateY = '-' + (data.top - 20) + 'px';
          
          this.temp = '--myfirst:'+this.translateY+';';
        }).exec();
    }
  }
</script>

      最后一步需要在vue里面引入 temp 样式才会起作用

<template>
  <view :style="temp"></view>
</template>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值