2011-07-22 64 views
0

我有一個sass的設置,我需要一種方法來存儲一個值,當我將所有的css縮小到一起時,它不會被覆蓋。當編譯爲一個文件時,sass變量被覆蓋

我有一個模板scss文件,樣式爲具有類選擇器的特定一堆標籤。 然後我在每個html頁面上都有一個body id選擇器。每個html頁面都有自己獨特的scss文件。 我需要一種方法來將唯一的身份標識選擇器分配給一個變量,以便它可以用於在模板scss文件中的每個類的起始處附加唯一頁面標識。例如:

template.scss

$basePageID: ""; 

    #{$basePageID} .myclass{ 

    } 
    #{$basePageID} .myclass2{ 

    } 

現在,在我的HTML特定SCSS文件,我有這樣的設置。

**homepage.scss** 

    @import "template.scss"; 
    $basePageID: "#home"; 

    #{$basePageID} .myclass{ 

    } 

**contact.scss** 
    @import "template.scss"; 
    $basePageID: "#contact"; 

    #{$basePageID} .myclass{ 

    } 

好吧,希望你能看到我在這裏要做的事情。問題是當我所有的CSS文件被縮小時,$ basePageID變量將被設置爲最後添加的css文件。即使將所有文件合併爲一個css文件,我也需要一種方法來爲每個scss文件傳遞模板唯一的頁面id。不知道我該怎麼做,在SCSS

+0

如何縮小/合併CSS文件? – Miikka

回答

0

廣東話,你只是這樣做......

template.scss:

#{$basePageID} .myclass{ 

} 
#{$basePageID} .myclass2{ 

} 

homepage.scss:

$basePageID: "#home"; 
@import "template.scss"; 

#{$basePageID} .myclass{ 

} 

對我來說,看起來像你在錯誤的時間覆蓋basePageID。