css - 在变量中使用 SCSS 变量

标签 css loops variables sass

我想使用如下的 SCSS 循环:

@each $var in dark, purple, green, cyan, silver, white {

  .text-#{$var} {
    color: nth($color-, $var);
  }
  .btn-#{$var} {
    background-color: nth($color-, $var);
  }
}

为了使用以下变量:

$color-dark: #0D0E1E;
$color-purple: #333366;
$color-green: #33cc99;
$color-cyan: #00cccc;
$color-silver: #ccc;
$color-white: #fff;

但它不起作用。 $color-#{$var} 也不能正常工作。我可以这样做吗?

最佳答案

nth 获取列表中的一个元素。第一个参数是列表,第二个是列表中的索引。 SASS 也认为任何带有 $ 的东西都是一个变量,所以 $color- 也是一个变量。您尚未将 $color- 定义为变量,这不是您的预期用途。

DOCS .

但是你可以用 map 得到你想要的结果......

DEMO

$color-dark: #0D0E1E;
$color-purple: #333366;
$color-green: #33cc99;
$color-cyan: #00cccc;
$color-silver: #ccc;
$color-white: #fff;

$colors: (
  dark: $color-dark,
  purple: $color-purple,
  green: $color-green,
  cyan: $color-cyan,
  silver: $color-silver,
  white: $color-white
);

@each $name, $val in $colors {
  .text-#{$name} {
    color: $val;
  }

  .btn-#{$name} {
    background-color: $val;
  }
}

关于css - 在变量中使用 SCSS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46698750/

相关文章:

css - 当导航栏折叠时,下拉菜单在导航栏内 float mdbootstrap

java - 仅具有终止表达式的 for 循环与 while 循环

python - 按位置循环二维数组

使用 printf 参数的变量调用 printf、snprintf、f_printf 等

c# - C++ 和 C# 中的静态变量有什么区别?

jquery - 使用 jquery 动态增加颜色代码

javascript - 空白的div如何隐藏?

javascript - 在点击叠加层时更改叠加层中图像的不透明度

javascript - 挣扎于超时函数javascript

language-agnostic - 有符号变量和无符号变量有什么区别?