Как перезаписать переменные SCSS при компиляции в CSS
Я пытаюсь использовать jqtouch theming, основанную на SASS и COMPASS. У меня есть файл custom.scss с самым простым кодом, один импорт и одна переменная для перезаписывания:
@import 'jqtouch';
// Override variables
$base-color: #fe892a;/* The default base which is later used for toolbar, list, and button backgrounds.*/
Когда я сейчас скомпилирую scss файл в css, он в основном просто сгенерирует jqtouch css с моим именем файла. Специфика цвета нигде не видна, хотя переменная определенно правильная для документации (Официальное руководство) и в файле jqtouch.scss, который я импорт для костюмирования.
Я запускаю Sass 3.2.9 и Compass 0.12.2 на компьютере под управлением Windows.
Я пробовал это с большим количеством переменных и разных импортных файлов, но результат всегда, что мои значения переопределения не включены.
Файл конфигурации ruby для компаса кажется неприемлемым.
Есть ли у кого-нибудь идея, что не так в этом процессе, чтобы мои значения переопределения игнорировались?
Ответы
Ответ 1
Вы устанавливаете цвет после его использования. В основном, что вы пытаетесь сделать, это следующее:
$color: red;
.foo {
background: $color;
}
$color: green;
В зависимости от того, как написано jqtouch, вы вообще не сможете изменять цвета. Вам нужно, чтобы переменные были установлены по умолчанию, чтобы переписать их раньше времени:
$color: green;
$color: red !default; // red is only used if $color is not already set
.foo {
background: $color; // color is green
}
Итак, ваш код должен быть написан следующим образом:
// Override variables
$base-color: #fe892a;/* The default base which is later used for toolbar, list, and button backgrounds.*/
@import 'jqtouch';