📖 Scenario: You are creating a simple style for a website section that uses colors. You want to learn how to use Sass color module functions to get the complement and invert of colors to make your design more dynamic and interesting.
🎯 Goal: Build a Sass stylesheet that defines a base color, then creates two new colors using the color.complement() and color.invert() functions. Use these colors to style a section background and text color.
📋 What You'll Learn
Create a Sass variable called $base-color with the exact value #3498db.
Create a Sass variable called $complement-color that uses color.complement($base-color).
Create a Sass variable called $invert-color that uses color.invert($base-color).
Style a section element with background-color set to $base-color and color set to $invert-color.
Add a p inside the section with color set to $complement-color.
💡 Why This Matters
🌍 Real World
Designers and developers often need to create color schemes that are visually appealing and accessible. Using Sass functions like color.complement() and color.invert() helps automate color choices and maintain consistency.
💼 Career
Knowing how to use Sass color functions is useful for front-end developers and UI designers to create dynamic and maintainable stylesheets.
Progress0 / 4 steps
1
Create the base color variable
Create a Sass variable called $base-color and set it to the color #3498db.
SASS
Hint
Use the syntax $variable-name: value; to create a Sass variable.
2
Create complement and invert color variables
First, add @use 'sass:color'; at the top. Then create a Sass variable called $complement-color that uses color.complement($base-color). Then create a Sass variable called $invert-color that uses color.invert($base-color).
SASS
Hint
Add @use 'sass:color'; at the top. Then use color.complement($base-color) and color.invert($base-color) to get new colors.
3
Style the section with base and invert colors
Write a Sass style for the section element that sets background-color to $base-color and color to $invert-color.
SASS
Hint
Use the syntax selector { property: value; } to style elements in Sass.
4
Add paragraph style with complement color
Inside the section style, add a style for the p element that sets its color to $complement-color.
SASS
Hint
Use nested selectors in Sass by writing the child selector inside the parent block.
Practice
(1/5)
1. What does the complement() function in Sass do to a color?
easy
A. It returns the opposite color on the color wheel.
B. It inverts the RGB values of the color.
C. It makes the color lighter by 50%.
D. It changes the color to grayscale.
Solution
Step 1: Understand the complement function
The complement() function returns the color opposite on the color wheel, creating contrast.
Step 2: Differentiate from invert function
The invert() function flips RGB values, not the color wheel position.
Final Answer:
It returns the opposite color on the color wheel. -> Option A
Quick Check:
Complement = opposite color on wheel [OK]
Hint: Complement = opposite color on wheel, invert = flips RGB [OK]
Common Mistakes:
Confusing complement with invert function
Thinking complement changes brightness
Assuming complement makes grayscale
2. Which of the following is the correct syntax to complement a color $color in Sass?
easy
A. invert($color)
B. invert-color($color)
C. complement($color)
D. color-invert($color)
Solution
Step 1: Recall Sass complement function syntax
The correct function to complement colors in Sass is complement() with the color as argument.
Step 2: Check other options
invert() does not exist as built-in, others are invalid function names.
Final Answer:
complement($color) -> Option C
Quick Check:
complement() is the correct function name [OK]
Hint: Complement function is simply complement(color) in Sass [OK]
Common Mistakes:
Using invert() instead of complement()
Adding extra words like invert-color()
Confusing function names
3. What color will be the result of complement(#000000) in Sass?
medium
A. #000000
B. #ff0000
C. #ffffff
D. #808080
Solution
Step 1: Understand complement function on black
Black is #000000 (HSL 0, 0%, 0%). Complement adds 180° to hue but with 0% saturation and lightness, remains black.
Step 2: Confirm result
Achromatic colors like black have complement as themselves: #000000.
Final Answer:
#000000 -> Option A
Quick Check:
Complement black = black (#000000) [OK]
Hint: Complement black (#000000) always gives black (#000000) [OK]
complement($color) is a valid built-in Sass function.
Step 3: Check invert
invert($color) causes error: no built-in invert() function (requires @use 'sass:color' as color; color.invert($color)).
Final Answer:
$inv: invert($color); -> Option B
Quick Check:
invert() undefined without module [OK]
Hint: invert() not built-in like complement() [OK]
Common Mistakes:
Thinking invert() is valid like complement()
Assuming intuitive function names exist
Overlooking module requirements for newer functions
5. You want to create a button with a background color $btn-color and text color that is the complement of $btn-color. Which Sass code correctly sets the text color?
hard
A. color: invert($btn-color);
B. color: darken($btn-color, 50%);
C. color: lighten($btn-color, 50%);
D. color: complement($btn-color);
Solution
Step 1: Identify the goal
The text color should be the complement of the button background color for contrast.
Step 2: Choose the correct function
complement() returns the opposite color on the color wheel, ideal for contrast.
Step 3: Exclude other options
invert() not built-in; lighten/darken adjust brightness, not hue.
Final Answer:
color: complement($btn-color); -> Option D
Quick Check:
Complement gives opposite color for readable text [OK]
Hint: Use complement() for opposite color, perfect for text contrast [OK]
Common Mistakes:
Using invert() expecting perfect contrast
Lighten or darken changes brightness, not hue
Confusing complement with invert
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.