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; }
时,页面上的其他样式工作正常body { background-color: #F8F8F8; }
body { background-color: #F8F8F8; }
。 由于某种原因,该变量未被正确解析。
有什么想法吗?
您在layout
后导入colors
,因此您在colors
中定义的变量不可用于layout
。 你可以简单地颠倒这两行的顺序。 在SASS,import订单很重要。
如果你正在使用sass-rails
gem, 它使用sass 3.2.0 so !global
会抛出错误。