📖 Scenario: You are designing a simple webpage with a colored box. You want to use Sass to manage colors easily and create a lighter shade of your main color for a hover effect.
🎯 Goal: Build a Sass stylesheet that defines a base color variable, creates a lighter version of that color, and applies these colors to a box and its hover state.
📋 What You'll Learn
Create a Sass variable named $base-color with the exact value #3498db.
Create a Sass variable named $light-color that is a lighter version of $base-color by 30%.
Write a CSS rule for a class .color-box that sets the background color to $base-color.
Add a :hover state for .color-box that changes the background color to $light-color.
💡 Why This Matters
🌍 Real World
Using variables and color functions in Sass helps keep your website colors consistent and easy to update.
💼 Career
Front-end developers often use Sass to manage styles efficiently, especially for color themes and interactive effects.
Progress0 / 4 steps
1
Define the base color variable
Create a Sass variable called $base-color and set it to the color value #3498db.
SASS
Hint
Use the syntax $variable-name: value; to create a Sass variable.
2
Create a lighter color variable
Create a Sass variable called $light-color that is a lighter version of $base-color by 30% using the lighten() function.
SASS
Hint
Use lighten($color, percentage) to make a color lighter.
3
Style the color box with base color
Write a CSS rule for the class .color-box that sets the background-color property to the Sass variable $base-color.
SASS
Hint
Use .class-name { property: value; } syntax and refer to variables with $variable-name.
4
Add hover effect with lighter color
Add a :hover state to the .color-box CSS rule that changes the background-color to the Sass variable $light-color.
SASS
Hint
Use &:hover { ... } inside the class rule to add hover styles in Sass.
Practice
(1/5)
1. Which Sass function would you use to make a color lighter?
easy
A. rgba()
B. darken()
C. lighten()
D. mix()
Solution
Step 1: Understand the purpose of lighten()
The lighten() function increases the lightness of a color, making it lighter.
Step 2: Compare with other functions
darken() makes colors darker, rgba() changes transparency, and mix() blends two colors.
Final Answer:
lighten() -> Option C
Quick Check:
Make color lighter = lighten() [OK]
Hint: Lighten means increase brightness, so use lighten() [OK]
Common Mistakes:
Confusing lighten() with darken()
Using rgba() to change brightness
Mixing colors instead of lightening
2. Which of the following is the correct syntax to make a color 20% darker in Sass?
easy
A. darken(#ff0000, '20%')
B. darken(#ff0000 20%)
C. darken(#ff0000; 20%)
D. darken(#ff0000, 20%)
Solution
Step 1: Check function syntax
The darken() function takes two arguments separated by a comma: a color and a percentage without quotes.
Step 2: Validate each option
darken(#ff0000, 20%) uses a comma and percentage without quotes, which is correct. Options B and C miss the comma or use wrong separators. darken(#ff0000, '20%') uses quotes around percentage, which is invalid.
Final Answer:
darken(#ff0000, 20%) -> Option D
Quick Check:
Correct syntax uses comma and percentage without quotes [OK]
Hint: Use comma between color and percentage, no quotes on percent [OK]
The mix() function blends two colors by a given weight. 50% means equal parts of both colors.
Step 2: Mix blue and red equally
Mixing pure blue (#0000ff) and pure red (#ff0000) equally results in purple (#800080).
Final Answer:
#800080 (purple) -> Option B
Quick Check:
Mix blue + red equally = purple [OK]
Hint: Mix equal red and blue = purple [OK]
Common Mistakes:
Thinking mix returns original color
Confusing olive with purple
Ignoring the 50% weight in mix()
4. Identify the error in this Sass code:
$color: lighten(#123456 10%);
medium
A. Missing comma between color and percentage
B. Percentage should be negative
C. Color hex code is invalid
D. lighten() cannot take percentages
Solution
Step 1: Check lighten() function syntax
The lighten() function requires two arguments separated by a comma: a color and a percentage.
Step 2: Identify missing comma
The code uses a space instead of a comma between #123456 and 10%, causing a syntax error.
Final Answer:
Missing comma between color and percentage -> Option A
Quick Check:
Arguments must be comma-separated [OK]
Hint: Check commas between function arguments [OK]
Common Mistakes:
Using space instead of comma between arguments
Thinking percentage must be negative
Believing lighten() can't take percentages
5. You want to create a button background color that is 30% lighter than a base color $primary: #0066cc; and add 50% transparency. Which Sass code correctly does this?
hard
A. $button-bg: rgba(lighten($primary, 30%), 0.5);
B. $button-bg: lighten(rgba($primary, 0.5), 30);
C. $button-bg: lighten($primary, 30%, 0.5);
D. $button-bg: rgba($primary, lighten(30%, 0.5));
Solution
Step 1: Lighten the base color first
Use lighten($primary, 30%) to increase brightness by 30%.
Step 2: Add transparency with rgba()
Wrap the lightened color in rgba(..., 0.5) to set 50% opacity.
Step 3: Check other options
$button-bg: lighten(rgba($primary, 0.5), 30); uses amount without % unit, which is invalid. $button-bg: lighten($primary, 30%, 0.5); uses wrong argument count. $button-bg: rgba($primary, lighten(30%, 0.5)); misuses rgba() arguments.
Final Answer:
$button-bg: rgba(lighten($primary, 30%), 0.5); -> Option A
Quick Check:
Lighten first, then add transparency [OK]
Hint: Lighten color first, then wrap with rgba() for transparency [OK]
Common Mistakes:
Adding transparency before lightening
Passing wrong number of arguments
Misordering function calls
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.