Less 你能用一个变量作为CSS属性和值吗?

Less 你能用一个变量作为CSS属性和值吗?,less,Less,使用SASS,我能够编写使用插值创建基于变量的混合的代码: @mixin browserPrefix($property, $value) -webkit-#{$property}: $value -moz-#{$property}: $value -ms-#{$property}: $value -o-#{$property}: $value #{$property}: $value 这非常灵活,因为我可以简单地编写@include browserPrefix($pro

使用SASS,我能够编写使用插值创建基于变量的混合的代码:

@mixin browserPrefix($property, $value) 
  -webkit-#{$property}: $value
  -moz-#{$property}: $value
  -ms-#{$property}: $value
  -o-#{$property}: $value
  #{$property}: $value
这非常灵活,因为我可以简单地编写@include browserPrefix($property:border radius,$value:3px),并在编译时获取所有浏览器前缀。这包括允许多种不同的用途

有没有办法用更少的钱做到这一点?我试过用{property}作为替代品,但似乎不起作用。任何建议请让我知道,对LESS来说都是新鲜事。

简单的答案是还没有

但看起来可能很快(也许在下一个较少的版本中)。看到这个线程,似乎@seven phases max正在处理它(

所以只要再多一点耐心就好了=)

我不久前在这里发布了一个可能的解决方法:

  • (有点老套,但它可以工作,同时等待房地产插值的正式发布)

更新: 从1.6()开始,可以插入属性名。
您的混音器在更少的时间内看起来像这样:

.browserPrefix(@property; @value){
    -webkit-@{property}: @value;
       -moz-@{property}: @value;
        -ms-@{property}: @value;
         -o-@{property}: @value;
            @{property}: @value;
}

谢谢期待着尝试这些解决方法。盲目地在属性中添加前缀会给CSS带来不必要的膨胀。Opera(Presto)和IE几乎没有需要前缀的属性。@cimmanon我完全同意你的看法。。。人们应该始终考虑CSS输出的外观,不要添加不必要的供应商前缀,只在必要时添加它们。。。但除了供应商前缀的不幸例子之外,属性插值有时也很方便。