📖 Scenario: You are building a website with different button styles. You want to reuse colors and sizes easily. Instead of writing the same colors and sizes many times, you will use logic in stylesheets to make your code simpler and faster to change.
🎯 Goal: Create a Sass stylesheet that uses variables and a simple condition to style buttons differently based on a size setting.
📋 What You'll Learn
Create a variable for the button color
Create a variable for the button size
Use a conditional statement to set the button padding based on the size variable
Write CSS rules for a button class using these variables
💡 Why This Matters
🌍 Real World
Web designers often need to create buttons and other elements that look consistent but can change easily. Using logic in stylesheets helps them manage styles better.
💼 Career
Knowing how to use variables and conditions in Sass is a valuable skill for front-end developers to write maintainable and scalable CSS.
Progress0 / 4 steps
1
Set up color and size variables
Create a Sass variable called $button-color and set it to #3498db. Also create a variable called $button-size and set it to medium.
SASS
Hint
Use $variable-name: value; to create variables in Sass.
2
Add padding variables for sizes
Create two more variables: $small-padding set to 0.5rem 1rem and $medium-padding set to 1rem 2rem.
SASS
Hint
Variables can hold any CSS value, including padding sizes.
3
Use logic to set button padding
Write a Sass @if statement that sets a variable $button-padding to $small-padding if $button-size is small, otherwise set it to $medium-padding.
SASS
Hint
Use @if condition { ... } @else { ... } to add logic in Sass.
4
Create button style using variables
Write a CSS rule for .button that sets background-color to $button-color, padding to $button-padding, and color to white.
SASS
Hint
Use variables inside CSS rules by writing their names with a $ sign.
Practice
(1/5)
1. Why do we need logic like variables and conditions in stylesheets such as Sass?
easy
A. To remove all colors and use only black and white
B. To make the website load faster by skipping styles
C. To make styles flexible and easier to update across a website
D. To write styles only once without any changes
Solution
Step 1: Understand the purpose of logic in stylesheets
Logic like variables and conditions allow styles to change easily without rewriting code.
Step 2: Connect flexibility with easier updates
Using logic means you can update colors or sizes in one place and see changes everywhere.
Final Answer:
To make styles flexible and easier to update across a website -> Option C
Quick Check:
Logic in stylesheets = flexibility and easy updates [OK]
Hint: Logic helps reuse and update styles easily [OK]
Common Mistakes:
Thinking logic speeds up website loading
Believing logic removes colors
Assuming logic means no style changes
2. Which of the following is the correct way to declare a variable in Sass?
easy
A. $main-color: #3498db;
B. var main-color = #3498db;
C. main-color: #3498db;
D. #main-color = 3498db;
Solution
Step 1: Recall Sass variable syntax
Sass variables start with a dollar sign ($) followed by the name and value.
Step 2: Check each option for correct syntax
Only $main-color: #3498db; uses $ and ends with a semicolon correctly.
Final Answer:
$main-color: #3498db; -> Option A
Quick Check:
Sass variables start with $ [OK]
Hint: Sass variables always start with $ [OK]
Common Mistakes:
Using var keyword like JavaScript
Omitting the $ sign
Missing semicolon at the end
3. What will be the background color of the button in this Sass code?
$is-primary is set to true, so the @if condition is true.
Step 2: Determine which block runs
Since the condition is true, background-color: blue; is applied to button.
Final Answer:
Blue -> Option A
Quick Check:
@if true applies first block = Blue [OK]
Hint: True condition runs @if block [OK]
Common Mistakes:
Choosing else block color
Ignoring the variable value
Thinking no color applies
4. Identify the error in this Sass code snippet:
$font-size: 16px
body {
font-size: $font-size;
}
medium
A. Variable name should not start with $
B. Missing semicolon after variable declaration
C. font-size property is invalid
D. body selector is incorrect
Solution
Step 1: Check variable declaration syntax
In Sass, each statement must end with a semicolon; here it is missing after 16px.
Step 2: Verify other parts
Variable name and usage are correct; body selector is valid.
Final Answer:
Missing semicolon after variable declaration -> Option B
Quick Check:
Every Sass statement ends with ; [OK]
Hint: Always end Sass lines with semicolon [OK]
Common Mistakes:
Forgetting semicolon after variable
Removing $ from variable name
Misunderstanding CSS property syntax
5. You want to create a theme system in Sass that changes button colors based on a variable $theme. Which approach best uses logic to handle multiple themes?
hard
A. Use JavaScript to change button colors only
B. Set background color directly without conditions
C. Write separate CSS files for each theme without variables