如何用scss的mixin产生不同主题样式

想达成的效果如下

body {
    @include themed(){
      color: t(#fff, #000)
      border-color: t(#000, #fff)
    };
}

编译出

.light body{
    color: #fff;   
    border-color: #000;
}

.dark body{
    color: #000;   
    border-color: #fff;
}

有大神知道这具体该怎么写吗? 我研究了好久

阅读 1.8k
1 个回答
@mixin theme($color, $borderColor) {
    color: $color;
    border-color: $borderColor;
}

body {
    &.light {
        @include theme(#000,#fff)
    }
    &.dark {
        @include theme(#fff, #000)
    }
}

mixin中把变更的属性定义好,值通过变量传入,然后include调用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题