【问题标题】:How to include files depending on the request.domain如何根据 request.domain 包含文件
【发布时间】:2014-12-05 19:13:53
【问题描述】:

我需要包含文件

"#{request.domain.split(".").first}.css.scss"

进入我的 custom.css.scss 文件。

我不知道该怎么做。目标是声明特定变量,并在每个文件中赋予它们不同的值,为每个不同的请求动态加载不同的文件

文件 one.css.scss

  $button_primary_color: #xxx;
  $header_background_color: blue;

文件二.css.scss

  $button_primary_color: #zzz;
  $header_background_color: red;

我也尝试过使用 CSS3 变量,但没有成功:

home[sn="one"] {
  --button_primary_color: #xxx;
}
home[sn="two"] {
  --button_primary_color: #yyy;
}

(在不同的浏览器中表现不标准),也不能替代下面的语句。

div {
    color: var(--button_primary_color);
}

我想要更多的 bootstrap/sass 解决方案。我怎样才能做到这一点?

【问题讨论】:

    标签: css ruby-on-rails-4 sass bootstrap-sass


    【解决方案1】:

    我仍在尝试找出最佳方法,但我过去做过的一件事是将 config.assets.precompile 设置为有效地拥有特定于域的 css 文件,然后让您的布局生成适当的代码拉入那个特定的 css 文件。

    config.assets.precompile += %w(application.js application.css domain1.css domain2.css)

    您在资产管道中的位置 domain1.css 提取您需要的任何特定于域的代码。

    比尝试在 css 代码中包含逻辑开关要干净得多(顺便说一句,你不能这样做)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 2018-09-08
      相关资源
      最近更新 更多