首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SASS中生成动态变量

如何在SASS中生成动态变量
EN

Stack Overflow用户
提问于 2021-06-12 20:27:08
回答 1查看 88关注 0票数 0

如何在SASS中生成动态变量?

我有带颜色的数组/列表:

代码语言:javascript
复制
$colors: (
  1: 'black',
  2: 'red',
  3: 'yellow'
);

现在,我还生成了动态类:

代码语言:javascript
复制
@each $i, $color in $colors {
  .bg-color-#{$i} {
    background-color: $color;
  }

  .text-color-#{$i} {
    color: $i;
  }
}

现在,我希望只有变量,就像这样:

代码语言:javascript
复制
$color-1: 'black';
$color-2: 'red';
// etc.

并且在将来像这样使用:

代码语言:javascript
复制
.some-class {
    color: $color-2;
}

因此,我的循环应该是基于数组/列表生成动态变量。

EN

回答 1

Stack Overflow用户

发布于 2021-06-12 22:23:29

快速结果:

代码语言:javascript
复制
/* Colors */
$colors: 'black', 'red', 'yellow';
@each $color in $colors {
    .color-#{$color} {
        color: $color;
    }
}

代码语言:javascript
复制
/* Step 1: styles.scss
/// ************************
/// @example
///  @include generate-color();
/// @return
///   .color-black { color: "black"; }
///   .color-red {color: "red"; }
///   .color-yellow {color: "yellow"; }
*/
@mixin generate-color() {
    $colors: 'black', 'red', 'yellow';
    @each $color in $colors {
        .color-#{$color} {
            color: $color;
        }
    }
}

/* Step 2: */
@include generate-color();

/* Step 3: Return ex. styles.css: */
.color-black {
  color: "black";
}

.color-red {
  color: "red";
}

.color-yellow {
  color: "yellow";
}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67948839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档