SASS 变量未正确解析 - 未定义的变量:"$ct-white"



我第一次使用SASS,我的变量似乎已经停止工作。我的application.css.scss文件中有以下代码:

*= require_self
*/
@import "layout";
@import "colors";
...
@import "text";

在我的部分_colors.css.scss文件中,有:

...
$ct-white: #F8F8F8 !global;

在我的部分_layout.css.scss文件(Rails默认布局文件)中:

/* Site-wide layout syntax */
body {
  background-color: $ct-white;
}

我知道_layout.css.scss文件正在加载,因为当我设置body { background-color: #F8F8F8; }时,页面上的其他样式可以正常工作。由于某些原因,变量没有被正确解析。

有什么想法吗?

您在layout之后导入colors,因此在colors中定义的变量对layout不可用。你可以简单地颠倒这两行的顺序。在SASS中,进口订单很重要。

如果您使用sass-railsgem,它会使用sass3.2.0,因此!global会抛出一个错误。

最新更新