0
0
SASSmarkup~20 mins

Mixins with parameters in SASS - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
SASS Mixins Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
📝 Syntax
intermediate
2:00remaining
What is the output CSS of this SASS code with a mixin parameter?
Given the following SASS code, what CSS will be generated?
@mixin box-shadow($x, $y, $blur, $color) {
  -webkit-box-shadow: $x $y $blur $color;
  box-shadow: $x $y $blur $color;
}

.button {
  @include box-shadow(2px, 4px, 5px, rgba(0,0,0,0.3));
}
SASS
@mixin box-shadow($x, $y, $blur, $color) {
  -webkit-box-shadow: $x $y $blur $color;
  box-shadow: $x $y $blur $color;
}

.button {
  @include box-shadow(2px, 4px, 5px, rgba(0,0,0,0.3));
}
A
.button {
  -webkit-box-shadow: 2px, 4px, 5px, rgba(0,0,0,0.3);
  box-shadow: 2px, 4px, 5px, rgba(0,0,0,0.3);
}
B
.button {
  -webkit-box-shadow: 2px 4px 5px rgba(0,0,0,0.3);
  box-shadow: 2px 4px 5px rgba(0,0,0,0.3);
}
C
.button {
  -webkit-box-shadow: 2 4 5 rgba(0,0,0,0.3);
  box-shadow: 2 4 5 rgba(0,0,0,0.3);
}
D
.button {
  -webkit-box-shadow: 2px 4px 5px 0 rgba(0,0,0,0.3);
  box-shadow: 2px 4px 5px 0 rgba(0,0,0,0.3);
}
Attempts:
2 left
💡 Hint
Remember that CSS box-shadow values are space-separated, not comma-separated.
🧠 Conceptual
intermediate
2:00remaining
What error occurs if a required mixin parameter is missing?
Consider this SASS mixin:
@mixin border-radius($radius) {
  border-radius: $radius;
}

.box {
  @include border-radius();
}

What happens when you compile this code?
SASS
@mixin border-radius($radius) {
  border-radius: $radius;
}

.box {
  @include border-radius();
}
ASASS compilation error: Missing argument for $radius.
BThe border-radius property is set to 0 by default.
CThe mixin is ignored and no CSS is generated for .box.
DThe border-radius property is set to null.
Attempts:
2 left
💡 Hint
Think about what happens when a required parameter is not provided.
selector
advanced
2:00remaining
Which CSS selector is generated by this SASS code using a mixin with parameters?
Given this SASS code:
@mixin button-style($color) {
  background-color: $color;
  color: white;
  padding: 1rem;
}

.btn-primary {
  @include button-style(blue);
}

.btn-secondary {
  @include button-style(gray);
}

Which CSS selectors appear in the output?
SASS
@mixin button-style($color) {
  background-color: $color;
  color: white;
  padding: 1rem;
}

.btn-primary {
  @include button-style(blue);
}

.btn-secondary {
  @include button-style(gray);
}
A.btn-primary .btn-secondary
B.btn-primary, .btn-secondary
C
.btn-primary
.btn-secondary
D.btn-primary .btn-secondary {}
Attempts:
2 left
💡 Hint
Look at how SASS outputs separate selectors for separate blocks.
layout
advanced
2:00remaining
How does this mixin with parameters affect layout spacing?
Analyze this SASS code:
@mixin spacing($top, $right, $bottom, $left) {
  margin-top: $top;
  margin-right: $right;
  margin-bottom: $bottom;
  margin-left: $left;
}

.card {
  @include spacing(1rem, 2rem, 1rem, 2rem);
}

What margin layout will the .card element have?
SASS
@mixin spacing($top, $right, $bottom, $left) {
  margin-top: $top;
  margin-right: $right;
  margin-bottom: $bottom;
  margin-left: $left;
}

.card {
  @include spacing(1rem, 2rem, 1rem, 2rem);
}
ATop and bottom margins 2rem; left and right margins 1rem
BAll margins set to 1rem
CAll margins set to 2rem
DTop and bottom margins 1rem; left and right margins 2rem
Attempts:
2 left
💡 Hint
Recall the order of margin properties in CSS: top, right, bottom, left.
accessibility
expert
3:00remaining
Which mixin parameter usage best supports accessible focus styles?
You want to create a mixin that applies focus styles with customizable outline color and thickness for accessibility. Which SASS mixin usage produces the best accessible focus style?
@mixin focus-style($color, $thickness) {
  outline: $thickness solid $color;
  outline-offset: 2px;
}

.button {
  @include focus-style(blue, 3px);
}
SASS
@mixin focus-style($color, $thickness) {
  outline: $thickness solid $color;
  outline-offset: 2px;
}

.button {
  @include focus-style(blue, 3px);
}
AOutline thickness 3px solid blue with 2px offset, ensuring visible focus ring
BOutline thickness 1px solid blue with no offset, subtle focus ring
CNo outline, only background color change on focus
DOutline thickness 5px dotted blue with 0 offset
Attempts:
2 left
💡 Hint
Good focus styles must be visible and clear for keyboard users.