Ruby 在config.rb中为scss文件创建scss变量
如何在Config.rb中为SCSS文件[COMPASS project]定义SCSS变量 我的用例 在Config.rb文件中Ruby 在config.rb中为scss文件创建scss变量,ruby,ruby-on-rails-3,sass,compass-sass,Ruby,Ruby On Rails 3,Sass,Compass Sass,如何在Config.rb中为SCSS文件[COMPASS project]定义SCSS变量 我的用例 在Config.rb文件中 a = true 在style.scss中,我喜欢使用如下变量 @if a == true{ background: #fff; } @else { background: #000; } 解决方案之一 但这对我不起作用 你不能/不应该这样做。您将预编译资产,因此无法动态地适应不断变化的变量。这可能适用于config.rb变量,但这是一种不好的
a = true
在style.scss中,我喜欢使用如下变量
@if a == true{
background: #fff;
}
@else {
background: #000;
}
解决方案之一
但这对我不起作用 你不能/不应该这样做。您将预编译资产,因此无法动态地适应不断变化的变量。这可能适用于config.rb变量,但这是一种不好的使用模式,每次更改变量时都必须重新编译资产,这与在sass中执行if-else检查的目的背道而驰 更简单的方法是在元素(主体)上添加类
.active
.inactive
。或者根据已登录的用户,在您的头脑中输出内联css,如自定义颜色等
你想干什么?听起来你应该做些什么来检查你是在生产还是在开发?在这种情况下,您可以执行以下操作:
<body class='<%= "development" if Rails.env == 'development' %>'>
甚至
<body <%= "style='background-color: red;'" if Rails.env == 'development' %>
首先,你看过和吗 如果您真的试图将外部变量传递给SASS,那么您必须了解,在编译CSS时,SASS并不知道您的配置文件。(Haml的主要开发人员之一),最好的方法是创建自定义 如果你走那条路(再次引用内森的话): 您需要确保您的样式表 在数据更改时重新生成。你可以打电话来
Sass::Plugin.force\u update\u样式表
可能重复的Thx为您的答复,是的,我想重新生成样式表。我需要这个来创建带有单个scss文件的**RTL和LTR**样式表。Thx供您回复,是的,我想重新生成样式表。我需要它来创建带有单个scss文件的**RTL和LTR**样式表。