Less 添加具有较少混合的供应商前缀

Less 添加具有较少混合的供应商前缀,less,mixins,less-mixins,Less,Mixins,Less Mixins,我发现这个混音的语法错误: .vendors(@statement){ @statement; -moz-@statement; -webkit-@statement; } 要做到这一点,或者混合变量必须位于:?的右侧,这是一个蹩脚的答案,但我认为这是不可能的。没有办法做到这一点,但有解决办法。如果成功的话,我想应该是这样的: .vendors(@prop, @val){ ~"-webkit-@{prop}:@{val}"; } 注意:这不起作用 下面是关于这个话题的一个很长

我发现这个混音的语法错误:

.vendors(@statement){
  @statement;
  -moz-@statement;
  -webkit-@statement;
}

要做到这一点,或者混合变量必须位于

的右侧,这是一个蹩脚的答案,但我认为这是不可能的。

没有办法做到这一点,但有解决办法。如果成功的话,我想应该是这样的:

.vendors(@prop, @val){
  ~"-webkit-@{prop}:@{val}";
}
注意:这不起作用

下面是关于这个话题的一个很长的讨论:


您可能可以使用此库:

因为v2更少,您可以使用前缀作为属性的前缀,这似乎是一个更好的选择。autoprefix插件利用添加浏览器前缀。对于客户端编译(在浏览器中),可以使用

正如@ScottS已经提到的,您可以在选择器中使用变量插值,因为v1.6版本较少,这使您能够:

.prefix(@property, @value)
{
    -webkit-@{property}:@value;
    @{property}:@value;
}
selector {
    .prefix(property,value);
}
产出:

selector {
  -webkit-property: value;
  property: value;
}

您还应该阅读:

for LESS prefication显示了为什么您可能不想这样做,以及LESS中的模式匹配如何有利于前缀。这是一个非常好的问题,因为这在SASS中是可能的,我正在尝试用更少的ass来模拟它,我还找不到任何解决方案。因为我和任何知道问题来源的人一样跛脚。