微信小程序之wxss文件使用变量动态计算参数值

微信小程序之wxss文件使用变量动态计算参数值,第1张

一、需求:

swiper组件缩小后需要完全居中。

二、实现方案:

一种方式是flex居中,但我调试后效果不行;还有一种就是绝对定位,使用left 50%,这种我调试也不居中;还有一种就是计算屏幕宽度和swiper宽度,绝对定位后left=(屏幕width-swiper width)/2,本文介绍最后一种实现方式。

三、程序实现

31 js文件

data声明变量

onload时计算参数值

32 wxss文件

使用绝对定位,left使用变量,格式: var( --变量名--)

33 wxml文件

swiper外用一个view组件,并使用变量,格式:style="--left--:{{动态变量}}px"

四、实现效果

它的样式来自rich-text标签或者其父元素的样式,(当两者都有时候,rich-text的优先级更高)

它的样式来自style的样式,这时候 rich-text标签或者其父元素的样式无效,此时若想要改变样式,需要用正则表达式为其添加样式。

结果:不生效

结果:当有important时候生效

>

老规矩,先上效果图

个人对夜间模式这个功能情有独钟

晚上黑灯瞎火的看手机,屏幕亮度就算调到最低依然很是刺眼呀

所以我一直用某浏览器,因为有夜间模式

言归正传,依然是分析功能点

1点击按钮,切换一套css(这个功能很简单)

2把皮肤设置保存到全局变量,在访问其它页面时也能有效果

3把设置保存到本地,退出应用再进来时,依然加载上次设置的皮肤

先从切换开始吧,switch很少用,还是贴一下吧

按钮功能OK了,现在我们去写样式

像这种黑的风格的皮肤,大背景色用#000

小背景用#333,文字用#999吧,我也懒得用取色器了

既然需要一套皮肤,那我们就去文件夹外面写一个样式文件

就新建一个skin目录,下面写一个darkwxss吧

然后呢

我们把普通模式下的wxss复制一份,贴进来

把和颜色有关的属性留下来,其它删除

像background呀,border,color等。。其它统统不要

最后发现就剩这么点了。。

大家发现,我这些样式名称都有dark-box

这个dark-box就是最外面,也是最大的盒子(除了默认的page哈)

my-box是普通模式,dark-box就是夜间模式

当然你也可以在写一个皮肤样式,黄、红、蓝。。。

现在这个写法,我们只用控制变量 skinStyle的值就能改变皮肤样式了

我们还能写个blue-box的皮肤,然后设置变量为skinStyle为blue就行了

还有关键一步,在wxss文件中把这个皮肤文件引入要显示的页面

接下来第二步,这就简单了。。

设置到全局变量嘛,先getApp(),然后传过去就行了

现在在访问其它页面的时候,dark皮肤也会传进去

我只写了一个页面哈,所以只有这个页面会有变化

现在第三步了,保存到localstroge中

完了吗?并没有。。

我们要在程序打开时就获取皮肤设置

所以要在appjs去get与皮肤相关的信息

现在我们设置黑色皮肤,然后退出,进去之后不是黑色

因为我们在页面加载时没设置

现在再来看看

结果按钮的状态是关闭,皮肤却是开着

因为开关重置了

这个就交给大家自己解决啦,启动时判断一下就OK啦

需要源码的话我再上传吧

以上就是关于微信小程序之wxss文件使用变量动态计算参数值全部的内容,包括:微信小程序之wxss文件使用变量动态计算参数值、微信小程序的rich-text(富文本)添加样式、小程序皮肤功能——夜间模式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9724940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存