2013-01-13 78 views
2

我有以下少編譯錯誤。我的少就是下面不確定是什麼原因造成的。更少未定義的方法錯誤

undefined_methodError: error evaluating function `darken`: Object #<Object> has no method 'toHSL' in /Users/anderskitson/Sites/mrskitson.ca/wp-content/themes/wordpress-bootstrap/library/less/variables.less:164:34 
163 @navbarBackground:    "../images/nav.png"; 
164 @navbarBorder:     darken(@navbarBackground, 12%); 
165 

(This action was triggered by a change to navbar.less) 

較少文件

@navbarBackground: "../images/nav.png"; 
background: url("{@navbarBackground}"); 

回答

8

fine manual

變暗

通過絕對量減少的顏色的亮度。

參數:

  • color:一個顏色對象。
  • amount:百分比0-100%。

返回:color

darken功能想要一個顏色,但你@navbarBackground是背景圖像的URL。您收到關於toHSL的投訴,因爲LESS正在嘗試將顏色轉換爲HSL格式,以使黑化計算更加容易。

我不知道通過LESS變暗圖像的任何方法,您可能需要手動變暗圖像並根據需要在它們之間切換。

+0

根據您的使用情況,您可以使用不透明配上黑色的背景,以實現自己的「變暗」的效果,並在白色背景上做一個「減輕「效應。相反,您可以在圖像上覆蓋不透明的(白色或黑色)div。 – Patrick

+0

幫了我很多,雖然在我的情況下(爲他人分享) - 我的變量中有'!default',@incomplete:#bbb!default;'所以它也是 - 不僅僅是一個顏色HEX .. 。 –

-2

你缺少在變暗方法的@,即

@navbarBorder:darken(@navbarBackground, 12%);