Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a CSS variable?
A CSS variable is a custom property that stores a value you can reuse throughout your CSS. It helps keep styles consistent and easy to update.
Click to reveal answer
beginner
How do you declare a CSS variable?
You declare a CSS variable inside a selector using two dashes before the name, like --main-color: blue;. Usually, variables are declared inside the :root selector for global use.
Click to reveal answer
beginner
How do you use a CSS variable in your styles?
Use the var() function with the variable name, like color: var(--main-color);. This applies the stored value wherever you use it.
Click to reveal answer
beginner
Why use CSS variables instead of repeating values?
CSS variables make it easy to update styles in one place. For example, changing --main-color updates all uses of that color, saving time and reducing mistakes.
Click to reveal answer
intermediate
Can CSS variables have fallback values?
Yes! You can provide a fallback value inside var(), like color: var(--unknown-color, black);. If the variable is not defined, the fallback is used.
Click to reveal answer
How do you declare a CSS variable named --font-size with value 16px globally?
A--font-size: 16px;
Bbody { font-size: --font-size: 16px; }
C:root { --font-size: 16px; }
Dvar(--font-size) = 16px;
✗ Incorrect
CSS variables are declared inside selectors with two dashes. The :root selector is used for global scope.
Which syntax correctly uses a CSS variable named --main-color for text color?
Acolor: var(--main-color);
Bcolor: --main-color;
Ccolor: $main-color;
Dcolor: main-color;
✗ Incorrect
Use the var() function to access CSS variables.
What happens if you use color: var(--unknown-color, red); but --unknown-color is not defined?
AThe browser shows an error.
BThe color will be red.
CThe color will be transparent.
DThe color will be black.
✗ Incorrect
The fallback value red is used if the variable is not defined.
Why is it good to declare CSS variables inside :root?
AIt disables variables.
BIt hides variables from the browser.
CIt makes variables only work on the body.
DIt makes variables available globally.
✗ Incorrect
:root is the highest-level selector, so variables declared there can be used anywhere.
Which of these is NOT a benefit of using CSS variables?
AVariables automatically change HTML content.
BEasier to update repeated values.
CVariables can store any CSS value.
DVariables help keep styles consistent.
✗ Incorrect
CSS variables only affect styles, not HTML content.
Explain how to declare and use a CSS variable for a background color.
Think about where to put the variable and how to apply it in CSS.
You got /4 concepts.
Describe the benefits of using CSS variables in a website's style.
Consider how variables save time and reduce errors.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of declaring CSS variables inside :root?
easy
A. To limit variables only to the :root selector
B. To create variables that only work in inline styles
C. To make variables available globally throughout the CSS
D. To declare variables that only apply to JavaScript
Solution
Step 1: Understand the role of :root in CSS
The :root selector targets the highest-level element in the document, usually the <html> element.
Step 2: Recognize variable scope
Declaring variables inside :root makes them global, so they can be used anywhere in the CSS.
Final Answer:
To make variables available globally throughout the CSS -> Option C
Quick Check:
Global variables = :root declaration [OK]
Hint: Declare variables in :root for global access [OK]
Common Mistakes:
Thinking variables declared in :root are local
Confusing CSS variables with JavaScript variables
Assuming variables only work inline
2. Which of the following is the correct syntax to declare a CSS variable named --main-color with the value #3498db inside :root?
easy
A. :root { --main-color: #3498db; }
B. :root { main-color = #3498db; }
C. :root { $main-color: #3498db; }
D. :root { var(--main-color): #3498db; }
Solution
Step 1: Recall CSS variable declaration syntax
CSS variables start with two dashes -- and are declared with a colon : inside a selector block.
Step 2: Check each option
:root { --main-color: #3498db; } uses correct syntax: --main-color: #3498db;. Others use invalid symbols or keywords.
Final Answer:
:root { --main-color: #3498db; } -> Option A
Quick Check:
Correct syntax = --name: value; [OK]
Hint: Use --name: value; inside :root [OK]
Common Mistakes:
Using = instead of : to assign values
Missing the double dash -- prefix
Trying to use var() in declaration
3. Given the CSS below, what color will the paragraph text be?
:root {
--text-color: #ff0000;
}
p {
color: var(--text-color);
}
medium
A. Red
B. Black
C. Blue
D. Green
Solution
Step 1: Identify the variable value
The variable --text-color is set to #ff0000, which is red.
Step 2: Check how the variable is used
The paragraph uses color: var(--text-color);, so it will use the red color.
Final Answer:
Red -> Option A
Quick Check:
Variable value applied = red [OK]
Hint: Match variable value with var(--name) usage [OK]
Common Mistakes:
Confusing hex codes with color names
Forgetting to use var() to apply variables
Assuming default color if variable is declared
4. What is wrong with this CSS code?
:root {
--bg-color #ffffff;
}
body {
background-color: var(--bg-color);
}
medium
A. Background color property is misspelled
B. Using var() incorrectly to apply variable
C. Variable name missing double dashes '--' prefix
D. Missing colon ':' after variable name in declaration
Solution
Step 1: Check variable declaration syntax
The declaration --bg-color #ffffff; is missing a colon : between the variable name and value.
Step 2: Verify usage of variable
The usage background-color: var(--bg-color); is correct, so the error is only in declaration.
Final Answer:
Missing colon ':' after variable name in declaration -> Option D
Quick Check:
Declaration syntax requires ':' [OK]
Hint: Always put ':' between variable name and value [OK]
Common Mistakes:
Forgetting colon ':' in variable declaration
Using var() without parentheses
Misspelling property names
5. You want to create a theme with two colors: --primary-color and --secondary-color. You want --secondary-color to be 50% transparent version of --primary-color. Which CSS variable declaration correctly achieves this?
B. :root {
--primary-color: #0000ff;
--secondary-color: #0000ff80;
}
C. :root {
--primary-color: #0000ff;
--secondary-color: rgba(var(--primary-color), 0.5);
}
D. :root {
--primary-color: #0000ff;
--secondary-color: var(--primary-color, 0.5);
}
Solution
Step 1: Understand CSS variable limitations
CSS variables hold values as strings; you cannot directly use var(--primary-color) inside rgba() expecting it to split into RGB components.
Step 2: Check each option
:root {
--primary-color: #0000ff;
--secondary-color: rgba(var(--primary-color), 0.5);
} tries to use rgba(var(--primary-color), 0.5) but --primary-color is a hex string, so this won't work. :root {
--primary-color: 0, 0, 255;
--secondary-color: rgba(var(--primary-color), 0.5);
} declares --primary-color as RGB components but CSS variables cannot hold multiple values like that easily. :root {
--primary-color: #0000ff;
--secondary-color: #0000ff80;
} uses a hex color with alpha channel #0000ff80 which is blue with 50% opacity, correctly representing a transparent version. :root {
--primary-color: #0000ff;
--secondary-color: var(--primary-color, 0.5);
} misuses var() with a second parameter that is not opacity.
Final Answer:
:root {
--primary-color: #0000ff;
--secondary-color: #0000ff80;
} -> Option B
Quick Check:
Use hex with alpha for transparency in variables [OK]
Hint: Use hex with alpha channel for transparent colors [OK]
Common Mistakes:
Trying to use var() inside rgba() with hex colors
Declaring RGB as comma-separated string in variable