Write maintainable CSS with variables, nesting, mixins, modules, maps, and compiled output.
Lessons
Pass values into mixins for flexible output.
Mixin Arguments is easiest to learn by reading the example, changing it, and observing the result.
@mixin button($bg, $color: white, $radius: 4px) {
background: $bg;
color: $color;
border-radius: $radius;
}
.primary { @include button(#4f46e5); }
.ghost { @include button($bg: transparent, $color: #4f46e5); }
// Arbitrary arguments
@mixin shadow($shadows...) {
box-shadow: $shadows;
}
.card { @include shadow(0 1px 2px #0002, 0 4px 8px #0001); }Practice the Mixin Arguments example in a small scratch file, then explain what changed and why.