Implementation Comparisons

Below we go head to head with other implementations.

Variables

SCSS:

$main-color: #006;
color: $main-color;

Less:

@main-color: #006;
color: @main-color;

Stylus:

main-color = #006
color: main-color

Mixins

SCSS:

@mixin pad($x, $y) {
padding: $y $x;
}

.msg {
@include pad(5px, 10px);
}

Less:

.pad(@x, @y) {
padding: @y @x;
}

.msg {
.pad(5px, 10px);
}

Stylus:

pad(x, y)
padding: y x

.msg
pad(5px, 10px)

Complex Example

SCSS:

@mixin box-shadow ($x: 0, $y: 0, $blur: 1px, $alpha: 1) {
$val: $x $y $blur rgba(0, 0, 0, $alpha);
-webkit-box-shadow: $val;
-moz-box-shadow: $val;
box-shadow: $val;
}
.box {
$base: #f938ab;
color: saturate($base, 5%);
border-color: lighten($base, 30%);
div {
@include box-shadow(0, 0, 5px, 0.4);
}
}

Less:

.box-shadow (@x: 0, @y: 0, @blur: 1px, @alpha: 1) {
@val: @x @y @blur rgba(0, 0, 0, @alpha);
-webkit-box-shadow: @val;
-moz-box-shadow: @val;
box-shadow: @val;
}
.box {
@base: #f938ab;
color: saturate(@base, 5%);
border-color: lighten(@base, 30%);
div {
.box-shadow(0, 0, 5px, 0.4);
}
}

Stylus:

box-shadow($x = 0, $y = 0, $blur = 1px, $alpha = 1)
$val = $x $y $blur rgba(0, 0, 0, $alpha)
-webkit-box-shadow: $val
-moz-box-shadow: $val
box-shadow: $val

.box
base = #f938ab
color: saturate(base, 5%)
border-color: lighten(base, 30%)
div
box-shadow: 0 0 5px 0.4