Default parameter values let you set a fallback value for a function or mixin parameter. This means if you don't give a value, it uses the default.
Default parameter values in SASS
@mixin name($param: default-value) { // styles } // or for functions @function name($param: default-value) { @return something; }
Use a colon : to assign the default value after the parameter name.
You can use any valid Sass value as a default, like colors, numbers, strings, or lists.
@mixin button($color: blue) { background-color: $color; color: white; padding: 0.5rem 1rem; border-radius: 0.25rem; }
@mixin box($size: 100px) { width: $size; height: $size; background: gray; }
@function double($number: 2) { @return $number * 2; }
This example shows a card mixin with two default parameters: background color and padding. The .card-default uses the default values. The .card-custom overrides both defaults.
@mixin card($bg-color: #f0f0f0, $padding: 1rem) { background-color: $bg-color; padding: $padding; border-radius: 0.5rem; box-shadow: 0 0 5px rgba(0,0,0,0.1); } .card-default { @include card(); } .card-custom { @include card(#cce5ff, 2rem); }
Default values make your mixins and functions easier to reuse.
You can override defaults by passing your own values when calling the mixin or function.
Always choose sensible defaults that fit most cases to save time.
Default parameter values provide fallback values for mixins and functions.
They help avoid repeating common values and make code flexible.
You can override defaults by passing new values when using the mixin or function.
Practice
Solution
Step 1: Understand default parameters
Default parameters give a value when no argument is passed to a mixin or function.Step 2: Identify the purpose
This helps avoid errors and makes code flexible by using fallback values.Final Answer:
To provide fallback values if no argument is given -> Option CQuick Check:
Default parameters = fallback values [OK]
- Thinking defaults speed up code
- Believing defaults force argument passing
- Confusing defaults with CSS property creation
Solution
Step 1: Recall Sass default parameter syntax
In Sass, default values use a colon ':' after the parameter name.Step 2: Match syntax to options
@mixin example($color: blue) { color: $color; } uses '$color: blue' which is correct syntax for default values.Final Answer:
@mixin example($color: blue) { color: $color; } -> Option BQuick Check:
Default value syntax uses ':' not '=' [OK]
- Using '=' instead of ':' for defaults
- Using '?' or '<-' which are invalid
- Confusing default syntax with other languages
@mixin box($width: 100px, $height: 50px) { width: $width; height: $height; }What CSS is generated by:
.small { @include box($height: 30px); }Solution
Step 1: Identify passed and default parameters
The mixin call passes only $height: 30px, so $width uses default 100px.Step 2: Write resulting CSS
Width is 100px (default), height is 30px (passed value).Final Answer:
.small { width: 100px; height: 30px; } -> Option AQuick Check:
Passed overrides height, width uses default [OK]
- Assuming all defaults are overridden
- Mixing up which parameter was passed
- Forgetting default applies if argument missing
@mixin card($bg-color blue) { background-color: $bg-color; }Solution
Step 1: Check parameter default syntax
The parameter $bg-color is followed by 'blue' without a colon ':' separator.Step 2: Identify correct syntax
Default values require a colon ':' like '$bg-color: blue'.Final Answer:
Missing colon ':' between parameter and default value -> Option AQuick Check:
Default parameter syntax needs ':' [OK]
- Omitting colon ':' between parameter and value
- Using '=' instead of ':'
- Thinking parameter names can't start with '$'
Solution
Step 1: Check default parameter syntax in functions
Default values use colon ':' like '$color: red'.Step 2: Verify return statement syntax
Sass uses '@return' to return values, not 'return'.Step 3: Compare options
@function get-color($color: red) { @return $color; } uses correct default and '@return'. @function get-color($color: red) { return $color; } uses 'return' which is invalid in Sass.Final Answer:
@function get-color($color: red) { @return $color; } -> Option DQuick Check:
Default param ':' and '@return' needed [OK]
- Using '=' instead of ':' for defaults
- Using 'return' instead of '@return'
- Trying to use 'or' inside return statement
Ready to prove it?
Pass the test and this pattern moves unknown
