Come sovrascrivere le variabili SCSS durante la compilazione in CSS

Sto cercando di usare i temi di jqtouch basati su SASS e COMPASS. Ho un file custom.scss con il codice più semplice, una importazione e una variabile da sovrascrivere:

@import 'jqtouch'; // Override variables $base-color: #fe892a;/* The default base which is later used for toolbar, list, and button backgrounds.*/ 

Quando ora compilo il file scss in css, basterà generare semplicemente il css jqtouch con il mio nome file. Le specifiche del colore non sono visibili, anche se la variabile è sicuramente corretta per documentazione ( Guida ufficiale ) e nel file jqtouch.scss, che imposto per la personalizzazione.

Sto usando Sass 3.2.9 e Compass 0.12.2 su una macchina Windows.

L’ho provato con più variabili e diverse importazioni di file, ma il risultato è sempre che i miei valori di override non sono incorporati.

Il file di configurazione ruby per la bussola sembra essere insospettabile.

Qualcuno ha un’idea di cosa non va nel processo in modo che i miei valori di override vengano ignorati?

Stai impostando il colore dopo che è già stato utilizzato. Fondamentalmente, quello che stai cercando di fare è questo:

 $color: red; .foo { background: $color; } $color: green; 

A seconda di come viene scritto jqtouch, potresti non essere in grado di modificare i colors. È necessario impostare le variabili come predefinite per sovrascriverle prima del tempo:

 $color: green; $color: red !default; // red is only used if $color is not already set .foo { background: $color; // color is green } 

Quindi il tuo codice dovrebbe essere scritto come tale:

 // Override variables $base-color: #fe892a;/* The default base which is later used for toolbar, list, and button backgrounds.*/ @import 'jqtouch';