通过 scss 改变主题

1、设置主题

 window.document.documentElement.setAttribute("data-theme", theme); // 修改主题

2、创建放置主题色的_themes.scss文件

$themes: (
 surpass: ( 
          color-theme: #0188FB,
          color-hover: rgba(1,136,251,0.1),
  ),
 landscape: (
          color-theme: #1759F2,
          color-hover: rgba(23,89,242,0.1),
  )
);

3、 创建一个scss混入语法文件


@import './_themes.scss';

/*
  使用demo
  .app-home {
    font-size: 18px;
    @include themeify {
      color: themed('color-hover');
    };
    @include background_color("color-hover")
  }
*/

@mixin themeify {
  @each $theme-name, $theme-map in $themes {
    $theme-map: $theme-map !global;
    [data-theme=#{$theme-name}] & { //
      @content;
    }
  }
}

@function themed($key) {
  @return map-get($theme-map, $key);
}

@mixin background_color($color) {
  @include themeify {
    background-color: themed($color);
  }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值