小程序进阶-如何使用var变量动态设置css样式

3 篇文章 0 订阅

简介

想必大家在学习小程序之后都知道,wxml页面可以通过”{{变量名}}“直接访问js文件定义的变量,从而达到动态设置页面显示或页面样式的目的。但是,大家是否知道wxss文件css样式也可以通过js文件进行动态设置?由于在小程序中不支持动态css语法,所以,我们可以使用css变量var来达到同样的目的。

示例代码

index.js

Page({
  data: {
  	param1: '20%',
  	param2: 'red',
  	param3: '300',
    style: `			//样式一
      --bg-color:red; 
      --border-radius:20%;
      --wid:300px;
      --hgt:300px;
      `
  },
  onLoad(){
    setTimeout(() => {
      this.setData({
      	param1: '50%',
      	param2: 'blue',
      	param3: '200',
        style: `			//样式二
        --bg-color:blue; 
        --border-radius:50%;
        --wid:200px;
        --hgt:200px;
        `
      })
    }, 2000);
  }
})

index.wxss

.my-test{
  width: var(--wid);
  height: var(--hgt);
  border-radius: var(--border-radius);
  padding: 10px;
  box-sizing: border-box;
  background-color: var(--bg-color);
  transition: all 0.3s ease-in;
}

.my-test .show-test{
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius);
}

index.wxml

<view class="container">
  <view class="my-test" style="{{style}}">
    <view class="show-test"></view>
  </view>
</view>
<!--或者这种形式-->
<view class="container">
  <view class="my-test" style="
  		--bg-color:{{param2}}; 
        --border-radius:{{param1}};
        --wid:{{param3}}px;
        --hgt:{{param3}px;
        ">
    <view class="show-test"></view>
  </view>
</view>

效果展示

样式一
在这里插入图片描述
样式二
在这里插入图片描述

参考:
https://developer.mozilla.org/zh-CN/docs/Web/CSS/Using_CSS_custom_properties

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值