【问题标题】:less undefined method error较少未定义的方法错误
【发布时间】:2014-04-03 23:00:12
【问题描述】:

我有以下较少的编译错误。我的 less 不确定是什么原因造成的。

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}");

【问题讨论】:

    标签: css less


    【解决方案1】:

    来自fine manual

    变暗

    将颜色的亮度降低一个绝对量。

    参数:

    • color:一个颜色对象。
    • amount:百分比 0-100%。

    返回:color

    darken 函数需要颜色,但您的 @navbarBackground 是背景图像的 URL。您收到了关于 toHSL 的投诉,因为 LESS 正在尝试将颜色转换为 HSL 格式以使变暗计算更容易。

    我不知道通过 LESS 使图像变暗的任何方法,您可能需要手动使图像变暗并根据需要在它们之间切换。

    【讨论】:

    • 根据您的使用情况,您可以使用不透明度加上黑色背景来实现“变暗”效果,并使用白色背景来实现“变亮”效果。相反,您可以在图像上叠加一个不透明(白色或黑色)的 div。
    • 帮助了我很多,但在我的情况下(分享给其他人) - 我的变量中有一个 !default @incomplete: #bbb !default; 所以它也是 - 不仅仅是一个颜色 HEX ...
    【解决方案2】:

    您在变暗方法中缺少@,即

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 2011-04-25
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多