我第一次使用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-rails
gem,它会使用sass3.2.0,因此!global
会抛出一个错误。