当我使用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列位于最后一列之间)和第一列{ 我对此很陌生,但我到处搜寻,并不知道到底出了什么问题。
感谢您提出任何建议。
答案 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。