添加供应商前缀用更少的mixin(Adding vendor prefixes with LESS

2019-09-22 17:42发布

我得到一个语法错误的这种混合式:

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

没有办法做到这一点,还是混入变量必须要对的右侧:

Answer 1:

由于少V2可以使用autoprefix插件前缀的属性,这似乎是一个更好的选择。 该autoprefix插件添加浏览器前缀借力autoprefixer后处理器 。 对于客户端编译(浏览器),你可以使用-prefixfree 。

正如@ScottS已经提到这里 ,你可以使用选择的变量插值,因为少V1.6,它使您能够做到:

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

输出:

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

你也应该阅读: 我是不是我过于复杂的供应商前缀少吗?



Answer 2:

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



Answer 3:

有没有办法做到这一点,但也有变通方法。 如果它的工作,我认为这将是这样的:

.vendors(@prop, @val){
  ~"-webkit-@{prop}:@{val}";
}

注意:这是行不通的。

这里就这个话题很长时间的讨论: https://github.com/cloudhead/less.js/pull/698

您可能能够利用这个库: 更少的属性



文章来源: Adding vendor prefixes with LESS mixin