根据servername加载sass变量

时间:2013-04-15 06:39:03

标签: css sass

我正在使用SASS生成我的css文件,有2个版本。根据用户来自的URL,他们应该有不同的配色方案。我想将颜色添加到sass变量中,然后在加载站点时加载正确的变量。但我不知道如何根据$ _SERVER ['SERVER_NAME']变量加载变量。

任何可以帮助我的人?​​

总的来说,我需要这样的东西:

if(strstr($_SERVER['SERVER_NAME'], "foo.com")) {
@import("foo");
} else {
@import("bar");
}

1 个答案:

答案 0 :(得分:0)

首先,您不能将@import指令放在条件指令中。

但您可以从动态路径导入:

$path: server-name();
@import #{$path};

UPD:这是假的,您无法使用变量导入。

要在SASS中拥有server-name()功能,您需要Compass和一些自定义Ruby。

在指南针'config.rb中添加:

# Assign a name to the project and pass it into SASS
$server_name = "monkey"
module Sass::Script::Functions
  def server_name
    Sass::Script::String.new($server_name)
  end
end

在编译之前调整$server_name

CSS是静态的,因此您无法完全自动化。但是如果您使用的是Rails或Assetic等框架,则可以自动设置$server_name