Являются ли скобки mixin необязательными при вложении?
Учтите следующее:
.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
не определяется как миксин, но тогда что это?
1 ответ
Решение
Нет, @arguments
используется в .flashKeyFrames
это не миксин. Это аргумент, который передается в миксин. Набор значений, установленный для этого аргумента, является отдельным набором правил, а для вызова отдельного набора правил сработают круглые скобки. ()
в конце обязательно. Ниже выписка из веб-сайта Less:
Круглые скобки после отдельного вызова набора правил являются обязательными. Вызов
@detached-ruleset;
не будет работать.
Круглые скобки не являются обязательными только при вызове миксина, а не набора правил.