.mixin (@a: 1px, @b: 50%) { width: @a * 5; height: @b - 1%; } .mixina (@style, @width, @color: black) { border: @width @style @color; } .mixiny (@a: 0, @b: 0) { margin: @a; padding: @b; } .hidden() { color: transparent; // asd } #hidden { .hidden; } #hidden1 { .hidden(); } .two-args { color: blue; .mixin(2px, 100%); .mixina(dotted, 2px); } .one-arg { .mixin(3px); } .no-parens { .mixin; } .no-args { .mixin(); } .var-args { @var: 9; .mixin(@var, @var * 2); } .multi-mix { .mixin(2px, 30%); .mixiny(4, 5); } .maxa(@arg1: 10, @arg2: #f00) { padding: @arg1 * 2px; color: @arg2; } body { .maxa(15); } @glob: 5; .global-mixin(@a:2) { width: @glob + @a; } .scope-mix { .global-mixin(3); } .nested-ruleset (@width: 200px) { width: @width; .column { margin: @width; } } .content { .nested-ruleset(600px); } // .same-var-name2(@radius) { radius: @radius; } .same-var-name(@radius) { .same-var-name2(@radius); } #same-var-name { .same-var-name(5px); } // .var-inside () { @var: 10px; width: @var; } #var-inside { .var-inside; } .mixin-arguments (@width: 0px, ...) { border: @arguments; width: @width; } .arguments { .mixin-arguments(1px, solid, black); } .arguments2 { .mixin-arguments(); } .arguments3 { .mixin-arguments; } .mixin-arguments2 (@width, @rest...) { border: @arguments; rest: @rest; width: @width; } .arguments4 { .mixin-arguments2(0, 1, 2, 3, 4); } // Edge cases .edge-case { .mixin-arguments("{"); } // semi-colon vs comma for delimiting .mixin-takes-one(@a) { one: @a; } .mixin-takes-two(@a; @b) { one: @a; two: @b; } .comma-vs-semi-colon { .mixin-takes-two(@a : a; @b : b, c); .mixin-takes-two(@a : d, e; @b : f); .mixin-takes-one(@a: g); .mixin-takes-one(@a : h;); .mixin-takes-one(i); .mixin-takes-one(j;); .mixin-takes-two(k, l); .mixin-takes-one(m, n;); .mixin-takes-two(o, p; q); .mixin-takes-two(r, s; t;); } .mixin-conflict(@a:defA, @b:defB, @c:defC) { three: @a, @b, @c; } .mixin-conflict(@a:defA, @b:defB, @c:defC, @d:defD) { four: @a, @b, @c, @d; } #named-conflict { .mixin-conflict(11, 12, 13, @a:a); .mixin-conflict(@a:a, 21, 22, 23); }