Bird
Raised Fist0
SASSmarkup~3 mins

Why Boolean values and logic in SASS? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

Discover how simple true/false checks can save you hours of styling headaches!

The Scenario

Imagine you are styling a website and want to change colors based on whether a button is active or not. You write separate styles for every possible state manually.

The Problem

This manual way means you repeat code, risk mistakes, and spend a lot of time updating styles when conditions change. It's hard to keep track of all true/false states by hand.

The Solution

Boolean values and logic let you write simple true/false checks in your styles. You can combine conditions to automatically apply the right styles without repeating yourself.

Before vs After
✗ Before
$is-active: true;
@if $is-active {
  color: green;
} @else {
  color: gray;
}
✓ After
$is-active: true;
color: if($is-active, green, gray);
What It Enables

You can create flexible, easy-to-maintain styles that respond automatically to different conditions.

Real Life Example

For example, a navigation menu can highlight the current page link automatically by checking if it's active, without writing separate styles for each link.

Key Takeaways

Boolean values represent true or false states in your styles.

Logic lets you combine these states to control styling decisions.

This reduces repeated code and makes your styles easier to update.

Practice

(1/5)
1. In Sass, which of the following represents a Boolean value?
easy
A. 1
B. "true"
C. "false"
D. true

Solution

  1. Step 1: Understand Sass Boolean values

    In Sass, Boolean values are the keywords true and false, not strings or numbers.
  2. Step 2: Identify the correct Boolean

    true uses true as a keyword, which is the correct Boolean value in Sass.
  3. Final Answer:

    true -> Option D
  4. Quick Check:

    Boolean values in Sass are true or false [OK]
Hint: Look for keywords true or false without quotes [OK]
Common Mistakes:
  • Confusing strings "true" or "false" with Boolean values
  • Using numbers like 1 or 0 as Booleans
  • Thinking true/false must be quoted
2. Which of the following is the correct syntax to use a Boolean in an @if statement in Sass?
easy
A. @if $is-active == true { color: blue; }
B. @if $is-active = true { color: blue; }
C. @if $is-active === true { color: blue; }
D. @if $is-active != true { color: blue; }

Solution

  1. Step 1: Check Sass comparison operator

    Sass uses == to compare values in @if statements, not = or ===.
  2. Step 2: Identify correct syntax

    @if $is-active == true { color: blue; } uses == correctly to compare $is-active with true.
  3. Final Answer:

    @if $is-active == true { color: blue; } -> Option A
  4. Quick Check:

    Use double equals (==) for comparison in Sass [OK]
Hint: Use double equals (==) for comparisons in @if [OK]
Common Mistakes:
  • Using single equals (=) which assigns instead of compares
  • Using triple equals (===) which is invalid in Sass
  • Using != when checking for true
3. What color will the following Sass code output?
$dark-mode: false;

body {
  @if $dark-mode {
    background-color: black;
  } @else {
    background-color: white;
  }
}
medium
A. white
B. black
C. transparent
D. red

Solution

  1. Step 1: Check the Boolean value of $dark-mode

    $dark-mode is set to false, so the @if condition is false.
  2. Step 2: Follow the @else branch

    Since the condition is false, the code inside @else runs, setting background-color to white.
  3. Final Answer:

    white -> Option A
  4. Quick Check:

    False condition triggers @else block [OK]
Hint: False triggers @else styles, not @if [OK]
Common Mistakes:
  • Assuming false runs the @if block
  • Confusing true/false values
  • Ignoring the @else block
4. Identify the error in this Sass code:
$is-visible: true

.container {
  @if $is-visible == true {
    display: block;
  } @else {
    display: none;
  }
}
medium
A. Incorrect use of @else block
B. Wrong comparison operator in @if
C. Missing semicolon after variable declaration
D. Variable name cannot start with $

Solution

  1. Step 1: Check variable declaration syntax

    In Sass, variable declarations must end with a semicolon. Here, $is-visible: true is missing a semicolon.
  2. Step 2: Verify other syntax

    The comparison operator == and @else block are correct. Variable names can start with $.
  3. Final Answer:

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

    Variable declarations need semicolons [OK]
Hint: Check for missing semicolons after variables [OK]
Common Mistakes:
  • Forgetting semicolon after variable assignment
  • Confusing = and == in @if
  • Thinking @else is optional syntax
5. You want to apply a red border only if both $is-error and $is-active are true in Sass. Which code correctly uses Boolean logic to do this?
hard
A. @if $is-error & $is-active { border: 1px solid red; }
B. @if $is-error and $is-active { border: 1px solid red; }
C. @if $is-error && $is-active { border: 1px solid red; }
D. @if $is-error or $is-active { border: 1px solid red; }

Solution

  1. Step 1: Understand Sass Boolean operators

    Sass uses the keyword and for logical AND, not symbols like && or &.
  2. Step 2: Identify correct syntax

    @if $is-error and $is-active { border: 1px solid red; } correctly uses and to check if both variables are true before applying the border.
  3. Final Answer:

    @if $is-error and $is-active { border: 1px solid red; } -> Option B
  4. Quick Check:

    Use and for logical AND in Sass [OK]
Hint: Use 'and' keyword for AND logic in Sass [OK]
Common Mistakes:
  • Using && or & which are invalid in Sass
  • Using 'or' instead of 'and' for both true
  • Confusing bitwise & with logical and
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