无法将SASS的代码转换为LESS,它给了我“无法识别的输入” &:@ {pseudo} {
SASS代码:
@mixin mm_border( $border, $pseudo, $size, $pos1, $pos2 ) {
&:#{$pseudo} {
...
}
}
LESS代码:
.mm_border( @border, @pseudo, @size, @pos1, @pos2 ) {
&:@{pseudo} {
...
}
}
我在线上有错误&:@ {pseudo} {
据我所知,与SASS的不同之处在于,SASS上的#{$ var}在LESS上是@ {var},那么哪里可能有问题呢?
My Less编译器版本是1.6.2
答案 0 :(得分:1)
问题似乎与:
中的&:@{pseudo}
有关,可能是因为它试图将@{pseudo}
分配给变量,而不是。{/ p>
以下是克服它的黑客行为。不是唯一的解决方案(也可能不是最好的解决方案),但这是您可以使用的一种方式。
<强>代码:强>
.mm_border( @border, @pseudo, @size, @pos1, @pos2 ) {
@temp: ~":";
&@{temp}@{pseudo} {
border: @size @border #abc;
}
}
.mm{
.mm_border(solid,after,1px,1,2);
}
已编译的输出(在LESS 1.6.0中,但这应该不是问题)
.mm:after {
border: 1px solid #aabbcc;
}