【问题标题】:How to generate dynamic variable in SASS如何在 SASS 中生成动态变量
【发布时间】:2021-08-29 02:18:07
【问题描述】:

如何在SASS中生成动态变量?
我有颜色的数组/列表:

$colors: (
  1: 'black',
  2: 'red',
  3: 'yellow'
);

现在,我还生成动态类:

@each $i, $color in $colors {
  .bg-color-#{$i} {
    background-color: $color;
  }

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

现在,我想要变量,像这样:

$color-1: 'black';
$color-2: 'red';
// etc.

以后会这样使用:

.some-class {
    color: $color-2;
}

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

【问题讨论】:

标签: css sass scss-mixins


【解决方案1】:

见效快:

/* Colors */
$colors: 'black', 'red', 'yellow';
@each $color in $colors {
    .color-#{$color} {
        color: $color;
    }
}

/* 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";
}

【讨论】:

  • No tiene sentido GENERAR las variables de forma dinamica, pero te recomiendo que aprendas a usar estructura de archivos, estare al tanto de la respuesta de otra persona。
猜你喜欢
  • 2022-08-04
  • 2012-08-04
  • 2013-01-11
  • 2013-08-11
  • 2017-08-16
  • 2020-07-17
  • 2012-10-28
  • 1970-01-01
相关资源
最近更新 更多