我正在使用 SASS 生成我的 css 文件,并且有 2 个版本。根据用户来自的 url,他们应该有不同的配色方案。我想将颜色添加到 sass 变量中,然后在加载站点时加载正确的变量。但我不知道如何根据 $_SERVER['SERVER_NAME'] 变量加载变量。
谁能帮助我?
所以一般来说我需要类似的东西:
if(strstr($_SERVER['SERVER_NAME'], "foo.com")) {
@import("foo");
} else {
@import("bar");
}
首先,您不能将@import指令放在条件指令中。
但是您可以从动态路径导入:
$path: server-name();
@import #{$path};
UPD:这是错误的,您不能使用变量导入。
要server-name()在 SASS 中使用该功能,您需要 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自动设置。