Tengo una lista de categorías, desde la que me gustaría establecer un color de fondo. Me gustaría mantener los valores de los colores de fondo como variables. ¿Es posible hacer referencia a una variable por interpolación de cadenas? Sass está lanzando un error "no válido CSS" en mí que utilizan actualmente este código:¿Es posible hacer referencia a una variable con una cadena interpolada?
/* Category Colors */
$family_wellness_color: #c1d72e;
$lifestyle_color: #f4eb97;
$food_color: #f78f1e;
...
/* Categories */
@each $cat in family_wellness, lifestyle, food
{
.#{$cat}
{
.swatch, .bar
{
background-color: $#{$cat}_color;
}
}
}
Posible? ¡Realmente agradecería algunos consejos!
Aunque no he intentado esto antes, estoy bastante seguro de que esto no es compatible. No puedo encontrarlo en [interpolación] (http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#interpolation_) u otras secciones aplicables. Feliz codificación. –
Sí, tampoco vengo con una solución muy elegante. Preferiría no tener que crear una clase para cada color categórico, pero me inclino a hacerlo, así que podría usar @extend. # {$ Cat} _background_color (o lo que sea) dentro del ciclo. – Brandon
Puede ser posible utilizar @function o escribir una extensión, tal vez (estoy bastante seguro de que las variables deberían ser accesibles en estos contextos). –