3

How I can use a variable in another variable? How I can do this:

$buttons: default, success, primary, info, warning, danger;

$default_color: #aaa;
$success_color: #bbb;
$primary_color: #ccc;
$info_color: #ddd;
$warning_color: #eee;
$danger_color: #fff;


@each $b in $buttons {
  .btn-#{$b} {
    color: $#{b}_color;
  }
}
Chalist
  • 3,160
  • 5
  • 39
  • 68

2 Answers2

3

The way you are looking doesn't implement in SCSS yet but you can do something like this:

$default_color: #aaa;
$success_color: #bbb;
$primary_color: #ccc;
$info_color:    #ddd;
$warning_color: #eee;
$danger_color:  #fff;

$buttonsList:
  "default" $default_color,
  "success" $success_color,
  "primary" $primary_color,
  "info"    $info_color,
  "warning" $warning_color,
  "danger"  $danger_color;

@each $b in $buttonsList {
  .btn-#{nth($b, 1)} {
    color: nth($b, 2);
  }
}

Sassmeister link.

3rdthemagical
  • 5,271
  • 18
  • 36
Masoud
  • 1,008
  • 1
  • 9
  • 22
1

Sass does not allow variables to be created or accessed dynamically. Use map instead http://sass-lang.com/documentation/file.SASS_REFERENCE.html#maps Example: https://stackoverflow.com/a/17978519

Mohammad Niknam
  • 1,420
  • 14
  • 16