在config.rb中为scss文件创建scss变量

如何在Config.rb中为SCSS文件[COMPASS项目]定义SCSS变量

我的用例

在Config.rb文件中

a = true 

在style.scss中我喜欢使用变量之类的

 @if a == true{ background: #fff; } @else { background: #000; } 

其中一个解决方案是http://worldhousefinder.com/?p=124141

但它对我不起作用。

你不能/不应该这样做。 您将预编译您的资产,因此无法动态适应变化的变量。 这可能适用于你的config.rb变量,但这是一个糟糕的模式,你必须在每次更改变量时重新编译你的资产,这就无法在你的sass中进行其他检查。

更简单的方法是在元素(正文)上添加类.active .inactive 。 或者根据登录的用户输出内联css,以获取自定义颜色等内容。

你想做什么? 这听起来像你要检查你是否在生产或开发? 在这种情况下,您可以执行以下操作:

 '> 

甚至

  

你永远不需要在你的css和javascript中使用ruby,如果你发现自己这么做,你可能会以错误的方式接近它。 至少这是我在多次尝试这么做之后发现的。

ps data-attributes是一种将变量等传递给javascript的非常有效的方法

首先,你看过变量和mixins了吗?

如果你真的试图将外部变量传递给SASS,你必须明白它在编译CSS时不知道你的配置文件。 根据Nathan Weizenbaum (Haml的主要开发人员之一)的说法,最好的方法是创建自定义的用户定义函数

如果你走那条路(再次引用内森):

您需要确保在数据更改时重新生成样式表。 你可以通过调用Sass::Plugin.force_update_stylesheets