Less 更少:使用唯一参数Mixin来管理css3转换
使用较少的CSS,我希望使用mixin来简化代码,以输出转换声明,但是下面的语法是错误的。问题出在具有2个参数的属性Less 更少:使用唯一参数Mixin来管理css3转换,less,mixins,Less,Mixins,使用较少的CSS,我希望使用mixin来简化代码,以输出转换声明,但是下面的语法是错误的。问题出在具有2个参数的属性@color time定义中: .links-transition (@color-time:color 1s, border-color 1s) { -webkit-transition:@color-time; -moz-transition:@color-time; -ms-transition:@color-time; -o-tran
@color time
定义中:
.links-transition (@color-time:color 1s, border-color 1s)
{
-webkit-transition:@color-time;
-moz-transition:@color-time;
-ms-transition:@color-time;
-o-transition:@color-time;
transition:@color-time;
}
a
{
color:red;
.links-transition;
}
在官方文件中,我发现代码>最后,少教如何考虑参数,考虑它们由<代码>分隔;<代码>,在我的例子中有一个参数如下:
.links-transition (@color-time:color 1s, border-color 1s;)
.links-transition (@arg:"color 1s, border-color 1s") {
@color-time: ~"@{arg}";
-webkit-transition:@color-time;
-moz-transition:@color-time;
-ms-transition:@color-time;
-o-transition:@color-time;
transition:@color-time;
}
a {
color:red;
.links-transition ("color 2s, border-color 2s");
}
不幸的是,这没有运行。我想这要看情况了,因为空白。。。是否有正确的语法来获得正确的CSS,而不必在Mixin recall中使用2个参数
谢谢。您可以这样使用:
.links-transition (@color-time:color 1s, border-color 1s;)
.links-transition (@arg:"color 1s, border-color 1s") {
@color-time: ~"@{arg}";
-webkit-transition:@color-time;
-moz-transition:@color-time;
-ms-transition:@color-time;
-o-transition:@color-time;
transition:@color-time;
}
a {
color:red;
.links-transition ("color 2s, border-color 2s");
}
它将返回此CSS:
a {
color: red;
-webkit-transition: color 2s, border-color 2s;
-moz-transition: color 2s, border-color 2s;
-ms-transition: color 2s, border-color 2s;
-o-transition: color 2s, border-color 2s;
transition: color 2s, border-color 2s;
}
希望这是你想要的
有关更多想法:您还可以找到一些其他方法/解决方案,例如以下两种:
更新:在不到1.4版的测试版中,它以您想要的方式工作: 具有与上述解决方案相同的输出从1.3.2开始可以使用逗号分隔的参数,但是它们显然不能包含空格。刚刚回答。