sass – 如何在编译到CSS时覆盖SCSS变量

我正在尝试使用基于SASS和COMPASS的jqtouch主题我有一个文件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。颜色规范是无处可见的,尽管变量在每个文档(Official Guide)和jqtouch.scss文件中都是正确的。

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

我已经尝试了更多的变量和不同的文件导入,但结果总是,我的覆盖值不包括在内。

罗盘的ruby配置文件似乎是不祥的。

有没有人知道这个过程出了什么问题,所以我的覆盖值被忽略?

解决方法

您已经使用颜色后设置颜色。基本上,你想做的是这样的:
$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,and button backgrounds.*/

@import 'jqtouch';

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效