如何在编译为CSS时覆盖SCSSvariables

我试图使用基于SASS和COMPASS的jqtouch主题。 我有一个文件custom.scss最简单的代码,一个导入和一个variables覆盖:

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

当我现在将scss文件编译为css时,它基本上只是用我的文件名生成jqtouch css。 颜色规范是无处可见的,虽然variables是definitley正确的每个文档( 官方指南 )和jqtouch.scss文件,我导入costumizing。

我在Windows机器上运行Sass 3.2.9和Compass 0.12.2。

我已经尝试了更多的variables和不同的文件导入,但结果总是,我的覆盖值没有合并。

指南针的rubyconfiguration文件似乎是不吉利的。

有没有人有一个想法在这个过程中出了什么问题,以便我的覆盖值被忽略?

你已经使用了颜色。 基本上,你要做的是这样的:

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

根据jqtouch的写法,你可能根本无法修改颜色。 您需要将variables设置为默认值才能提前覆盖它们:

 $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';