2012-12-03 42 views
1

我用我的Rails應用程序.scss文件和以前我是用導入樣式表:使用變量

@import "bootswatch/superhero/variables"; 
@import "bootswatch/superhero/bootswatch"; 

但我想這樣做:

$theme: 'superhero'; 
@import "bootswatch/#{$theme}/variables"; 
@import "bootswatch/#{$theme}/bootswatch"; 

可惜這並未」 t工作,變量不被嵌入。我怎麼能這樣做,以避免在我想更改主題時多次更改我的application.css.scss

沒有成功

@import "bootswatch/" + $theme + "/variables"; 

$theme_variables: "/bootswatch/#{$theme}/variables"; 
@import $theme_variables; 
+0

怎麼樣@import「bootswatch /」 + $主題+「/變量」;? – Alex

+0

也白搭,該死的,這是一個很好的猜測!「......」bootswatch /「」之後無效的CSS:預期的選擇r或at-rule,是「+ $ theme +」/ va ...「' – ardavis

+0

關於整個主題思想:你是否考慮過讓每個主題都只是一些變量和/或mixins(儘可能)主題獨立的代碼? – Alex

回答

2

其他嘗試看起來就像你不能:

進口可能含有#{}插值,但只有一定的限制。無法根據變量動態導入Sass文件;插值僅適用於CSS導入。因此,它僅適用於URL()進口「

看到http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#import

這可能是因爲它試圖通過計算的依賴,以儘量減少進口之間重新編譯 - 這是我想象變得非常難用動態導入。

我建議爲每一個主題的主文件並導入這一點。

+0

感謝您的這一點,我很抱歉,我以前沒有看到,當我在那裏瀏覽。 – ardavis