Bird
Raised Fist0
SASSmarkup~10 mins

Boolean values and logic in SASS - Browser Rendering Trace

Choose your learning style10 modes available
Render Flow - Boolean values and logic
Parse SASS file
↓
Identify variables and values
↓
Evaluate boolean expressions
↓
Apply conditional logic
↓
Generate CSS output
The SASS processor reads the file, evaluates boolean values and logic expressions, then uses the results to decide which CSS rules to generate.
Render Steps - 3 Steps
Code Added:$is-active: true;
Before
[box]
Content
→
After
[box]
Content
Declared a boolean variable $is-active with value true. No visual change yet because CSS is not applied.
🔧 Browser Action:Stores variable in SASS environment, no CSS output yet.
Code Sample
A box with green background if $is-active is true, otherwise red background.
SASS
<div class="box">Content</div>
SASS
$is-active: true;

.box {
  @if $is-active {
    background-color: green;
  } @else {
    background-color: red;
  }
  color: white;
  padding: 1rem;
  border-radius: 0.5rem;
}
Render Quiz - 3 Questions
Test your understanding
After applying step 2, what background color does the box have?
ARed
BGreen
CBlue
DNo background color
Common Confusions - 3 Topics
Why does @if $is-active { ... } run when $is-active is true but not when false?
Because SASS treats true as a condition that passes and false as one that fails, so the block inside @if runs only when the condition is true (see render_step 2).
💡 Think of true as 'go' and false as 'stop' for applying styles.
What happens if I use a string like 'true' instead of boolean true?
SASS treats strings differently from booleans, so 'true' (a string) is truthy but not the same as boolean true; this can cause unexpected results in @if conditions.
💡 Use boolean true/false without quotes for logic checks.
Can I combine multiple boolean conditions in SASS?
Yes, using and/or/not operators lets you combine conditions to control styles precisely (see property_table).
💡 Use and/or to join conditions, not to invert them.
Property Reference
SASS BooleanValueEffect in LogicExample Usage
trueBoolean trueCondition passes$is-active: true; @if $is-active { ... }
falseBoolean falseCondition fails$is-active: false; @if $is-active { ... } @else { ... }
notNegationInverts boolean@if not $is-active { ... }
andLogical ANDBoth must be true@if $a and $b { ... }
orLogical OREither can be true@if $a or $b { ... }
Concept Snapshot
SASS boolean values are true or false. Use @if, @else to apply styles conditionally. Boolean true runs the @if block; false runs @else. Combine with and, or, not for complex logic. Boolean logic controls which CSS is generated.

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