LESS ParseError:无法识别的输入

时间:2016-07-29 20:24:29

标签: css compilation less

当我使用WINLess编译此代码时出现错误:

.icon-text-shadow (@icon-text-shadow: 0.0625rem 0.0625rem rgba(132, 108, 172, 1), 0.125rem 0.125rem rgba(132, 108, 172, 1);) {
    box-shadow: @icon-text-shadow;
    -moz-box-shadow: @icon-text-shadow;
    -webkit-box-shadow: @icon-text-shadow;
}

错误是:

  

ParseError:第34行,列中PATH \ file.less中无法识别的输入   126

第126列位于最后一列之间)和第一列{ 我对此很陌生,但我到处搜寻,并不知道到底出了什么问题。

感谢您提出任何建议。

4 个答案:

答案 0 :(得分:1)

我认为这必然是枚举的问题。试试这个:

@icon-text-shadow-default: 0.0625rem 0.0625rem rgba(132, 108, 172, 1), 0.125rem 0.125rem rgba(132, 108, 172, 1);
.icon-text-shadow (@icon-text-shadow: @icon-text-shadow-default) {
    box-shadow: @icon-text-shadow;
    -moz-box-shadow: @icon-text-shadow;
    -webkit-box-shadow: @icon-text-shadow; 
}

答案 1 :(得分:1)

看起来您刚刚发现了编译器的问题。

您的代码非常好,应该按预期工作。罪魁祸首是第二个rgba(132, 108, 172, 1)。删除它,它将起作用。

我玩了一下,似乎这总是发生在以逗号分隔的列表作为参数时,该列表中的任何元素(不是第一个)包含函数调用。

Aureliano答案的解决方法。

答案 2 :(得分:0)

您正在尝试解析一个用逗号分隔的字符串,而没有escaping

尝试一下:

.icon-text-shadow (@icon-text-shadow: ~"0.0625rem 0.0625rem rgba(132, 108, 172, 1), 0.125rem 0.125rem rgba(132, 108, 172, 1)") {
    box-shadow: @icon-text-shadow;
}

注意:不再需要为box-shadow使用供应商前缀。

答案 3 :(得分:0)

检查文件编码。如果它是“带BOM的UTF-8”,则LESS无法直接构建它。将编码更改为普通UTF-8。