我想根据@mixin中的颜色集(主题颜色)覆盖我的SCSS文件中主题内置SCSS变量的值

时间:2017-09-12 14:17:45

标签: html css kendo-ui sass

我有一个全局SCSS变量,即 $ accent:#3a99d5; ,我想根据@mixin中的颜色选择覆盖此变量,请参阅下面的代码以获得更清晰。

使用以下代码,我可以切换" .main-header "的颜色。基于班级名称"绿色"或"橙"附加在正文中(请参阅HTML块)但无法覆盖 $ accent ,这是控制主题所有主要颜色的主要变量。

我不确定我的代码。请帮我解决这个问题,并提前感谢。

  

/ ===== SCSS == /

$accent:#3a99d5; /*global variable*/

$themes: ( green: #90c140, orange: #bf5700 ); /*color set*/

@mixin theme($name,$color) {

    @if $name == green {
        $accent: #90c140 !global;
    }
    @else {
        $accent: #bf5700 !global;
    }

    .#{$name} {
        .main-header {
           background: $color;
           }
       }
}


@each $key, $value in $themes {
    @include theme($key, $value);
}
  

/ ==== HTML ===== /

    <body class="green"> /*how I'm using color class from my SCSS*/
<div class"main-header">

</div>
    </body>

0 个答案:

没有答案