w3schools imports compile sass

sass - imports - Las variables declaradas dentro de una instrucción if dan como resultado "variable indefinida"



sass[] (1)

Esperaba que la definición de variables en una sentencia if funcionara en Sass, pero desafortunadamente recibo errores que dicen que la variable no está definida. Esto es lo que intenté:

@for !i from 1 through 9 !foo = #000 @if !i == 1 !bg_color = #009832 @if !i == 2 !bg_color = #195889 ... #bar#{!i} color: #{!foo} background-color: #{!bg_color}

Con este código, obtendría el siguiente error:

Variable indefinida: "! Bg_color".


Las variables de Sass solo son visibles para el nivel de sangría en el que se declaran y las que se anidan debajo. Entonces solo necesita declarar! Bg_color fuera de su bucle for:

!bg_color = #FFF @for !i from 1 through 9 !foo = #000 @if !i == 1 !bg_color = #009832 @if !i == 2 !bg_color = #195889 #bar#{!i} color: #{!foo} background-color: #{!bg_color}

Y obtendrás el siguiente css:

#bar1 { color: black; background-color: #009832; } #bar2 { color: black; background-color: #195889; } #bar3 { color: black; background-color: #195889; } #bar4 { color: black; background-color: #195889; } #bar5 { color: black; background-color: #195889; } #bar6 { color: black; background-color: #195889; } #bar7 { color: black; background-color: #195889; } #bar8 { color: black; background-color: #195889; } #bar9 { color: black; background-color: #195889; }