Bird
Raised Fist0
SASSmarkup~5 mins

Mixins with parameters in SASS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a mixin in Sass?
A mixin is a reusable block of styles that you can include in other selectors. It helps avoid repeating code.
Click to reveal answer
beginner
How do you define a mixin with parameters in Sass?
Use @mixin followed by the mixin name and parentheses with parameters inside. Example: @mixin box($color) { background-color: $color; }
Click to reveal answer
beginner
How do you include a mixin with parameters in a selector?
Use @include with the mixin name and pass the arguments in parentheses. Example: @include box(red);
Click to reveal answer
beginner
Why use parameters in mixins?
Parameters let you customize the styles inside the mixin each time you use it, making your code flexible and reusable.
Click to reveal answer
intermediate
What happens if you define a default value for a mixin parameter?
If you don't pass a value when including the mixin, the default value is used automatically.
Click to reveal answer
How do you pass a color parameter to a mixin named button-style?
Abutton-style(red);
B@mixin button-style(red);
C@include button-style(red);
D@include button-style { red; }
What keyword starts the definition of a mixin in Sass?
A@extend
B@include
C@function
D@mixin
What is the benefit of using parameters in mixins?
AThey make mixins reusable with different values.
BThey make CSS load faster.
CThey automatically create variables.
DThey prevent styles from being applied.
If a mixin parameter has a default value, what happens when you don't pass that parameter?
AThe default value is used.
BAn error occurs.
CThe parameter is ignored.
DThe mixin is skipped.
Which of these is a valid mixin definition with a parameter?
A@function border-radius($radius) { border-radius: $radius; }
B@mixin border-radius($radius) { border-radius: $radius; }
Cborder-radius($radius) { border-radius: $radius; }
D@include border-radius($radius) { border-radius: $radius; }
Explain how to create and use a mixin with parameters in Sass.
Think about how you make reusable style blocks that accept inputs.
You got /3 concepts.
    Describe the advantage of giving default values to mixin parameters.
    Consider what happens if you forget to pass a value.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using @mixin with parameters in Sass?
      easy
      A. To create reusable styles that can be customized with different values
      B. To define variables that store colors and fonts
      C. To import external CSS files into Sass
      D. To write plain CSS without any dynamic features

      Solution

      1. Step 1: Understand what @mixin does

        @mixin lets you write a block of styles once and reuse it multiple times.
      2. Step 2: Recognize the role of parameters

        Parameters allow you to customize the reused styles by passing different values when including the mixin.
      3. Final Answer:

        To create reusable styles that can be customized with different values -> Option A
      4. Quick Check:

        Mixins with parameters = reusable customizable styles [OK]
      Hint: Mixins reuse styles; parameters customize them [OK]
      Common Mistakes:
      • Confusing mixins with variables
      • Thinking mixins import files
      • Believing mixins are plain CSS blocks
      2. Which of the following is the correct syntax to define a mixin with a parameter named color?
      easy
      A. @mixin button($color) { color: $color; }
      B. @mixin button { color: color; }
      C. @mixin button(color) { color: color; }
      D. @mixin button[$color] { color: $color; }

      Solution

      1. Step 1: Check the mixin declaration syntax

        The correct way to declare a mixin with parameters uses parentheses and a dollar sign before the parameter name.
      2. Step 2: Verify the parameter usage inside the mixin

        The parameter $color must be used with a dollar sign to refer to its value.
      3. Final Answer:

        @mixin button($color) { color: $color; } -> Option A
      4. Quick Check:

        Mixin params use ($param) and $param inside [OK]
      Hint: Parameters need $ and parentheses in @mixin [OK]
      Common Mistakes:
      • Omitting $ before parameter name
      • Using square brackets instead of parentheses
      • Not using $ when referencing parameter inside mixin
      3. Given the Sass code:
      @mixin box-shadow($x, $y, $blur, $color) {
        box-shadow: $x $y $blur $color;
      }
      
      .button {
        @include box-shadow(2px, 4px, 6px, rgba(0,0,0,0.3));
      }

      What CSS will be generated for the .button class?
      medium
      A. .button { box-shadow: 2px, 4px, 6px, rgba(0,0,0,0.3); }
      B. .button { box-shadow: $x $y $blur $color; }
      C. .button { box-shadow: 2px 4px 6px rgba(0,0,0,0.3); }
      D. .button { box-shadow: 2 4 6 rgba(0,0,0,0.3); }

      Solution

      1. Step 1: Understand mixin parameter substitution

        The mixin replaces each parameter with the passed value when included.
      2. Step 2: Check the CSS output format

        The values are inserted without commas, matching CSS syntax for box-shadow.
      3. Final Answer:

        .button { box-shadow: 2px 4px 6px rgba(0,0,0,0.3); } -> Option C
      4. Quick Check:

        Mixin params replaced correctly in CSS [OK]
      Hint: Mixin params replace placeholders without commas [OK]
      Common Mistakes:
      • Leaving parameter names as literals in output
      • Adding commas between values in CSS
      • Omitting units like px
      4. Identify the error in this Sass code:
      @mixin border-radius($radius) {
        border-radius: radius;
      }
      
      .box {
        @include border-radius(10px);
      }
      medium
      A. Parameters cannot have units like px
      B. Incorrect mixin name
      C. Wrong syntax for @include
      D. Missing $ before radius inside mixin

      Solution

      1. Step 1: Check parameter usage inside mixin

        The parameter $radius must be referenced with a dollar sign inside the mixin body.
      2. Step 2: Identify the error in property value

        The code uses radius without $, so it is treated as a literal string, causing wrong CSS.
      3. Final Answer:

        Missing $ before radius inside mixin -> Option D
      4. Quick Check:

        Parameter references need $ inside mixin [OK]
      Hint: Always use $ when referencing parameters inside mixin [OK]
      Common Mistakes:
      • Forgetting $ before parameter names
      • Misusing @include syntax
      • Thinking units are not allowed in parameters
      5. You want to create a mixin responsive-text that sets font size differently for mobile and desktop. It takes two parameters: $mobile-size and $desktop-size. Which Sass code correctly applies the font sizes using a media query inside the mixin?
      hard
      A. @mixin responsive-text($mobile-size, $desktop-size) { font-size: $desktop-size; @media (max-width: 768px) { font-size: $mobile-size; } }
      B. @mixin responsive-text($mobile-size, $desktop-size) { font-size: $mobile-size; @media (min-width: 768px) { font-size: $desktop-size; } }
      C. @mixin responsive-text($mobile-size, $desktop-size) { font-size: $mobile-size; @media (max-width: 768px) { font-size: $desktop-size; } }
      D. @mixin responsive-text($mobile-size, $desktop-size) { font-size: $desktop-size; @media (min-width: 768px) { font-size: $mobile-size; } }

      Solution

      1. Step 1: Understand mobile-first approach

        Set the base font size for mobile first, then override for larger screens using min-width media query.
      2. Step 2: Check parameter usage and media query logic

        The mixin sets font-size: $mobile-size; outside media query, then inside @media (min-width: 768px) sets font-size: $desktop-size;.
      3. Final Answer:

        @mixin responsive-text($mobile-size, $desktop-size) { font-size: $mobile-size; @media (min-width: 768px) { font-size: $desktop-size; } } -> Option B
      4. Quick Check:

        Mobile first base, desktop override with min-width [OK]
      Hint: Mobile first: base size outside, desktop inside min-width [OK]
      Common Mistakes:
      • Using max-width instead of min-width for desktop
      • Swapping mobile and desktop sizes
      • Placing media query outside mixin
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard