app更换主题色的方法(uni-app为例)

1.对于下划线,背景色,普通颜色字体的处理方式如下:

①如果后端返回的是#******的方式,通过下面的方法转换为rgb。

hexToRgb: function(hex) {
                var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
                return result ? {
                    r: parseInt(result[1], 16),
                    g: parseInt(result[2], 16),
                    b: parseInt(result[3], 16)
                } : null;
            },

然后将颜色写进全局的js变量中,如下:

app.globalData.glBackground = "linear-gradient(to right, rgba(" + r + "," + g + "," + b + ",0.6), rgba(" + r +
                                "," + g + "," + b + ",1))";
app.globalData.glBottom = "6rpx solid rgba(" + r + "," + g + "," + b + ",1)";

that.glColor = app.globalData.glColor;

②在页面上进行颜色拿取

:style="'background-image:'+glBackground",通过大致的这样的拼接进行颜色获取。

2.对于图片的处理稍微麻烦一些,首先需要拿到所有的svg图,下面我写好了一个组件,可以直接调用,原理是用一个view去包裹图片,然后在svg图的下面绘制了一个等大的图片,将该图片上移,把原图片顶出去,然后将容器设置为overflow-hidden即可。

组件输入:width:图片宽度。    height:图片宽度。    imgSrc:图片路径

组件代码见个人博客          组件库--svg封装    中

 

总结:主题色最好在进行网页绘制阶段就进行调整,否则后期会花费更多时间和精力去处理。
 

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路追求匠人精神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值