Bird
Raised Fist0
SASSmarkup~5 mins

First SASS stylesheet

Choose your learning style10 modes available
Introduction

SASS helps you write CSS faster and cleaner by using simple shortcuts.

You want to organize your styles with variables for colors or fonts.
You want to avoid repeating the same CSS code many times.
You want to nest styles to match your HTML structure.
You want to use math or logic in your styles easily.
You want your CSS to be easier to maintain and update.
Syntax
SASS
$variable-name: value;

selector {
  property: value;
  nested-selector {
    property: value;
  }
}

Variables start with $ and store values like colors or sizes.

You can nest selectors inside others to keep related styles together.

Examples
Using a variable for the background color makes it easy to change later.
SASS
$main-color: #3498db;

body {
  background-color: $main-color;
}
Nesting ul and li inside nav matches the HTML structure.
SASS
nav {
  ul {
    list-style: none;
  }
  li {
    display: inline-block;
  }
}
You can do math with variables, like doubling the padding.
SASS
$padding: 1rem;

.container {
  padding: $padding * 2;
}
Sample Program

This SASS stylesheet sets a green background and padding for a container. It styles the heading and paragraph inside with lighter and darker shades of the main color.

SASS
@use 'sass:color';

$primary-color: #2ecc71;
$padding: 1.5rem;

.container {
  background-color: $primary-color;
  padding: $padding;
  border-radius: 0.5rem;

  h1 {
    color: color.scale($primary-color, $lightness: 40%);
    font-size: 2rem;
  }

  p {
    color: color.darken($primary-color, 20%);
    font-size: 1rem;
  }
}
OutputSuccess
Important Notes

To see your SASS styles in the browser, you must compile the SASS file into CSS first.

Use tools like sass command line or online compilers to convert SASS to CSS.

Keep your variable names clear and consistent for easier updates.

Summary

SASS lets you write CSS with variables and nesting for cleaner code.

Variables store values like colors and sizes to reuse easily.

Nesting selectors matches your HTML structure and keeps styles organized.

Practice

(1/5)
1. What is the main benefit of using variables in a SASS stylesheet?
easy
A. They automatically fix CSS errors.
B. They make the stylesheet load faster in the browser.
C. They let you reuse values like colors and sizes easily.
D. They convert SASS to JavaScript.

Solution

  1. Step 1: Understand what variables do in SASS

    Variables store values such as colors or sizes so you can reuse them without repeating the same value.
  2. Step 2: Compare options with this understanding

    Only They let you reuse values like colors and sizes easily. correctly describes this benefit. Other options describe unrelated or incorrect features.
  3. Final Answer:

    They let you reuse values like colors and sizes easily. -> Option C
  4. Quick Check:

    Variables store reusable values = A [OK]
Hint: Variables store reusable values like colors or sizes [OK]
Common Mistakes:
  • Thinking variables speed up browser loading
  • Believing variables fix CSS errors automatically
  • Confusing SASS variables with JavaScript
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

  1. Step 1: Recall SASS variable syntax

    In SASS, variables start with a dollar sign ($) followed by the name, then a colon and the value.
  2. Step 2: Match options to this syntax

    $main-color: #3498db; matches this exactly. Options B, C, and D use incorrect syntax.
  3. Final Answer:

    $main-color: #3498db; -> Option A
  4. Quick Check:

    Variables start with $ in SASS = A [OK]
Hint: Variables always start with $ in SASS [OK]
Common Mistakes:
  • Using var keyword like JavaScript
  • Omitting the $ sign before variable name
  • Using @ instead of $ for variables
3. What will be the output CSS of this SASS code?
$primary-color: #ff0000;

.button {
  color: $primary-color;
  &:hover {
    color: darken($primary-color, 20%);
  }
}
medium
A. .button { color: $primary-color; } .button:hover { color: darken($primary-color, 20%); }
B. Syntax error: darken function not recognized
C. .button { color: #ff0000; } .button:hover { color: #ff3333; }
D. .button { color: #ff0000; } .button:hover { color: #cc0000; }

Solution

  1. Step 1: Understand variable substitution and nesting

    The variable $primary-color is replaced with #ff0000. The nested &:hover becomes .button:hover.
  2. Step 2: Calculate darken color

    darken(#ff0000, 20%) makes the red darker, resulting in #cc0000.
  3. Final Answer:

    .button { color: #ff0000; } .button:hover { color: #cc0000; } -> Option D
  4. Quick Check:

    Variables replaced and nesting expanded = B [OK]
Hint: Variables replaced, nesting expands selectors [OK]
Common Mistakes:
  • Leaving variables as-is in output CSS
  • Not expanding nested selectors
  • Misunderstanding darken color function
4. Identify the error in this SASS code:
$font-size: 16px

body {
  font-size: $font-size;
}
medium
A. body selector cannot be used in SASS
B. Missing semicolon after variable declaration
C. font-size property is invalid
D. Variable name should not start with $

Solution

  1. Step 1: Check variable declaration syntax

    In SASS, each statement must end with a semicolon. The variable declaration lacks a semicolon.
  2. Step 2: Verify other parts

    Variable names start with $, font-size is valid, and body selector is allowed.
  3. Final Answer:

    Missing semicolon after variable declaration -> Option B
  4. Quick Check:

    Semicolon missing after $font-size declaration = D [OK]
Hint: Always end variable declarations with semicolon [OK]
Common Mistakes:
  • Omitting semicolon after variable
  • Thinking $ is invalid for variables
  • Assuming selectors can't be used
5. You want to create a SASS stylesheet where all buttons have a background color stored in a variable, and on hover, the background becomes 15% lighter. Which SASS code correctly achieves this?
hard
A. $btn-bg: #007bff; button { background-color: $btn-bg; &:hover { background-color: lighten($btn-bg, 15%); } }
B. $btn-bg: #007bff button { background-color: $btn-bg; &:hover { background-color: lighten($btn-bg, 15%) } }
C. $btn-bg: #007bff; button { background-color: $btn-bg; &:hover { background-color: darken($btn-bg, 15%); } }
D. $btn-bg: #007bff; button { background-color: $btn-bg; &:hover { background-color: $btn-bg + 15%; } }

Solution

  1. Step 1: Check variable declaration and syntax

    $btn-bg: #007bff; button { background-color: $btn-bg; &:hover { background-color: lighten($btn-bg, 15%); } } correctly declares $btn-bg with a semicolon and uses proper nesting with &:hover.
  2. Step 2: Verify color function usage

    $btn-bg: #007bff; button { background-color: $btn-bg; &:hover { background-color: lighten($btn-bg, 15%); } } uses lighten($btn-bg, 15%) to make the color lighter on hover, which matches the requirement.
  3. Step 3: Identify errors in other options

    $btn-bg: #007bff button { background-color: $btn-bg; &:hover { background-color: lighten($btn-bg, 15%) } } misses semicolons; $btn-bg: #007bff; button { background-color: $btn-bg; &:hover { background-color: darken($btn-bg, 15%); } } darkens instead of lightens; $btn-bg: #007bff; button { background-color: $btn-bg; &:hover { background-color: $btn-bg + 15%; } } tries invalid addition of color and percentage.
  4. Final Answer:

    $btn-bg: #007bff; button { background-color: $btn-bg; &:hover { background-color: lighten($btn-bg, 15%); } } -> Option A
  5. Quick Check:

    Correct variable, nesting, and lighten function = C [OK]
Hint: Use lighten() with correct syntax and semicolons [OK]
Common Mistakes:
  • Forgetting semicolons after declarations
  • Using darken instead of lighten
  • Trying to add percentage directly to color
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard