2014-12-05 45 views
0

文件,我需要將文件如何包括取決於request.domain

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

包括到我custom.css.scss文件。

我不知道該怎麼做。我們的目標是聲明特定的變量,並給他們每個文件不同的值,動態加載不同的文件爲每個不同的請求

文件one.css.scss

$button_primary_color: #xxx; 
    $header_background_color: blue; 

文件two.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解決方案。我怎樣才能做到這一點?

回答

0

我仍然試圖找出一個最好的方法,但我過去做的一件事是設置config.assets.precompile有效地具有域特定的CSS文件,然後讓你的佈局產生適當的代碼來拉入特定的css文件。

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

,你必須在你的資產管道 domain1.css在任何你需要的領域特定代碼拉。

比嘗試在css代碼中包含邏輯開關更清潔(這是你不能做btw afaik)。