请考虑以下事项:
.flashing {
.flashKeyFrames(fade-in;{
0%, 100% {opacity: 1;}
50% {opacity: 0;}
});
.flashing(fade-in linear infinite alternate; 1s)
}
.flashKeyFrames(@name; @arguments) {
@-moz-keyframes @name { @arguments(); }
@-webkit-keyframes @name { @arguments(); }
@keyframes @name { @arguments(); }
}
.flashing(@arguments, @duration) {
-webkit-animation: @arguments;
-moz-animation: @arguments;
animation: @arguments;
-webkit-animation-duration: @duration;
-moz-animation-duration: @duration;
animation-duration: @duration;
}
@arguments
之后必须有哪些括号?我认为当用作mixins时,括号是可选的?所以我假设@arguments
没有被定义为mixin,但那么它是什么?
答案 0 :(得分:1)
不,@arguments
中使用的.flashKeyFrames
不是mixin 。 是传递给mixin的参数 。为此参数设置的值集是detached ruleset,并且要使分离的规则集调用起作用,最后的括号()
是必需的。以下是Less网站的摘录:
分离的规则集调用后的括号 。电话
@detached-ruleset;
无效。
只有在调用mixin而不是规则集时,括号才是可选的。