sass切换主题时,变量示例

 切换主题时,通过改变最外围dom的data-theme属性的值来加载不同的样式

   data-theme 有两个值分别为:[data-theme = 'wh-theme']和[data-theme = 'default-theme']

<div id="hompage" :data-theme="nowTheme" v-loading="loading">
    <router-view><router-view/>
</div>

 sass变量设置

  mixins.scss

// 默认主题的变量集合
$default-theme : (
  base-color: #181d35,//背景色
  text-color:#fff,//字体颜色
);
// 武汉主题的变量集合
$wh-theme : (
  base-color: #fff,//背景色
  text-color:#000,//字体颜色
);
//定义主题对象
$themes: (// key为主题  value为主题的变量集合
  default-theme: $default-theme,
  wh-theme: $wh-theme
);


// 生成主题背景色样式
@mixin base-background(){
    //            key,  value in $themes
    @each $themename , $theme in $themes {
        [data-theme = '#{$themename}'] & {
                                         // 对象         //key         输出对象中key的值
            background-color: map-get($map: $theme, $key: base-color );
        }
    }
}
// 生成主题字体色样式
@mixin text-color(){
    @each $themename , $theme in $themes {
        [data-theme = '#{$themename}'] & {
            color: map-get($map: $theme, $key: text-color ) !important;
        }
    }
}

主要样式文件

main.scss

@import 'mixins.scss';

.bg{
    @include base-background()
}
.ibox-title{
     @include text-color();
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值