2013-08-28 17 views
4

使用指南針編譯幾個SCSS文件時出現問題。基本上tintshade功能正在被忽略。所以,這樣的:指南針忽略SCSS文件中的色調和陰影功能

border:solid 1px tint($custom-ui-base-color, 5%); 
background-color:shade($custom-ui-base-color, 15%); 

變成這樣:

border: solid 1px tint(#096fcb, 5%); 
background-color: shade(#096fcb, 15%); 

這顯然是無效的CSS。指南針已經取代了變量,但沒有計算出功能,這有可能是這種情況嗎?羅盤中的設置或命令行參數可能?

回答

0

我挖了一些挖掘,似乎these functions were added to Compass core about a year ago,雖然我沒有深入挖掘更改日誌,看看他們到哪個版本。

色調和陰影不是內置的SASS色彩功能。 Compass documentation提到它們,但是the corresponding SASS docs do not。因此它們必須是Compass的附件,並且可以作爲附加的庫擴展訪問。

Net Magazine's examples使您看起來好像您正確使用它們。所以,我不確定在哪裏指向你,但是你可以嘗試更多地調試函數,看看你是否可以讓它們編譯。嘗試使用shade(#{$custom-ui-base-color}, 15%)作爲開始,它應該強制Compass在另一個之前執行一次計算(在這種情況下,只需編譯變量)。

的功能Ruby文檔:http://ruby-doc.org/gems/docs/c/compass-0.12.2/Compass/SassExtensions/Functions/Colors.html

祝你好運!

4

我知道這是晚了,但我有同樣的問題,直到我發現我可以使用mix()函數。也許這會對其他人有幫助。 mix()可以用您想要的任何顏色着色您現有的顏色。因此,要着色它白色的(這似乎是你想要的),你只要像這樣做:

$color: mix(white,$color, 15%);

第一個參數是你希望你的主色染上顏色,第二個參數是你的顏色第三個參數是要與主色混合的顏色數量(在這種情況下爲白色)。

所以在我的情況下,我混合在15%的白色。

+0

請注意,此問題指定指南針(提供色調和陰影功能)。如果你沒有使用Compass(或定義它們的其他庫),那麼當然你沒有這些功能。 – cimmanon

+0

在定義變量時,我甚至用羅盤問題:'$ something:tint($ color,15%)'並在另一個函數中使用它:'background-image:linear-gradient(向右,$ something 0% $ something 100%);',我的'$ something'被'tint(...)'完全替換,而不是在輸出中評估。直接使用'tint'而不是作爲變量工作。用變量'mix'代替解決了它。 – Markus