2013-09-16 62 views
0

我最近決定我想要在編譯SASS時發現一些默認操作,並發現這個堆棧溢出問題幫助我編寫了一個函數做到這一點(Use variable defined in config.rb in scss filesSASS :: Script ::顏色不被解釋爲某些SASS函數的顏色

顏色值得到通過罰款,並被視爲像一個SASS顏色對象(即如果我通過'#ff0000'到函數它出來的'紅'是好的)但它在tint()和shade()函數中不起作用。

我得到的錯誤是

(137行:「#ff1122」不是「燈罩」顏色)

但是,如果我註釋掉所有色彩的實例( )和陰影(),那麼它完美的作品。

這裏是一個的正在使用的所有代碼:

config.rb

sass_options = {:custom => { :custom_colors => {"main" => "#ff1122"} } } 

module Sass::Script::Functions 
    def custom_color(value) 
    rgb = options[:custom][:custom_colors][value.to_s].scan(/^#?(..?)(..?)(..?)$/).first.map {|a| a.ljust(2, a).to_i(16)} 
    Sass::Script::Color.new(rgb) 
    end 
end 

style.scss(第5行)

$col_primary : #{custom_color(main)}; 
(來自之前那裏提到的堆棧溢出鏈路採取)

style.scss(錯誤中提到的第137行)

@include background-with-css2-fallback(linear-gradient(-45deg, transparent 51%, shade($col_primary, 10) 50%, $col_primary 75%, $col_primary 0%)); 

我看不到這樣做的原因,因爲它在其他地方用作顏色。

如果需要

+0

如果沒有真正的解決方案,您可以使用混合而不是色調/陰影,因爲所有這些功能實際上都是將指定的顏色與白色/黑色混合。 – cimmanon

+0

使用mix時我得到同樣的錯誤 - 我想這很有意義,因爲它可能只是在內部使用該函數 – ollie

回答

0

我可以給更多的信息我的問題結束了這個

$col_primary : #{custom_color(main)}; 

這是我從例子了 - 我想,上海社會科學院解釋,作爲一個字符串,所以沒關係該函數返回正確的類型。