Bird
Raised Fist0
SASSmarkup~10 mins

Number types and units in SASS - Browser Rendering Trace

Choose your learning style10 modes available
Render Flow - Number types and units
Parse SASS file
↓
Identify number literals
↓
Check units on numbers
↓
Convert units if needed
↓
Compile to CSS with units
↓
Output CSS file
The SASS compiler reads the code, recognizes numbers and their units, processes any unit conversions, and outputs CSS with proper units for the browser to render.
Render Steps - 4 Steps
Code Added:$width: 10px;
Before
[ ]
→
After
[__________]  (empty box placeholder, no size yet)
Defined a variable with a number and px unit, but no visible box yet.
🔧 Browser Action:Stores variable for later use, no rendering change.
Code Sample
A blue box with width in pixels, height in rem units, and padding in em units.
SASS
<div class="box">Box</div>
SASS
$width: 10px;
$height: 5rem;
$padding: 2em;

.box {
  width: $width;
  height: $height;
  padding: $padding;
  background-color: lightblue;
}
Render Quiz - 3 Questions
Test your understanding
After applying step 4, what determines the box's height?
AThe 2em padding sets height
BThe 10px width sets height
CThe 5rem unit sets height relative to root font size
DThe background color sets height
Common Confusions - 2 Topics
Why does 10px look different from 5rem on different screens?
Pixels are fixed size, rem depends on root font size which can change with user settings or device, so rem scales but px stays constant.
💡 Use rem for scalable layouts, px for fixed sizes.
Why can't I add 10px + 5em directly in SASS?
SASS requires units to be compatible to add; px and em are different units, so you must convert or use compatible units.
💡 Only add numbers with same or compatible units.
Property Reference
PropertyValue ExampleUnit TypeVisual EffectCommon Use
width10pxAbsolute lengthSets fixed width in pixelsPrecise sizing
height5remRelative lengthHeight relative to root font sizeResponsive sizing
padding2emRelative lengthPadding relative to element font sizeSpacing inside element
Concept Snapshot
SASS numbers can have units like px, em, rem. Units affect how sizes scale visually. px is fixed size, em/rem scale with font size. SASS requires compatible units to do math. Use variables to keep units consistent and maintain responsive design.

Practice

(1/5)
1. Which of the following is a valid Sass number with a unit?
easy
A. 20pixels
B. 12px
C. 15percent
D. 30ptx

Solution

  1. Step 1: Understand Sass number units

    Sass supports standard CSS units like px, %, em, rem, etc.
  2. Step 2: Check each option for valid unit

    12px uses a valid unit px. Others use invalid or misspelled units.
  3. Final Answer:

    12px -> Option B
  4. Quick Check:

    Valid CSS unit = 12px [OK]
Hint: Look for standard CSS units like px, %, em, rem [OK]
Common Mistakes:
  • Confusing 'percent' with '%' unit
  • Using non-standard unit names like 'pixels'
  • Misspelling units like 'ptx'
2. Which Sass number is written with correct syntax?
easy
A. 5em
B. 15 rems
C. 20 %
D. 10 px

Solution

  1. Step 1: Check spacing between number and unit

    Sass numbers must have no space between the number and unit.
  2. Step 2: Validate each option

    5em is correct with no space. Others have spaces or invalid units.
  3. Final Answer:

    5em -> Option A
  4. Quick Check:

    No space between number and unit = 5em [OK]
Hint: No spaces allowed between number and unit in Sass [OK]
Common Mistakes:
  • Adding space between number and unit
  • Using plural forms like 'rems'
  • Confusing unit syntax with CSS property values
3. What will be the output of this Sass code?
$width: 10px * 2;
.result {
  width: $width;
}
medium
A. width: 10px2;
B. width: 10px;
C. width: 20px;
D. width: 20;

Solution

  1. Step 1: Multiply number with unit by a unitless number

    Multiplying 10px by 2 doubles the value but keeps the unit.
  2. Step 2: Resulting value and unit

    The result is 20px, which is valid CSS for width.
  3. Final Answer:

    width: 20px; -> Option C
  4. Quick Check:

    10px * 2 = 20px [OK]
Hint: Multiply unit number by unitless number keeps unit [OK]
Common Mistakes:
  • Concatenating number and unit as string
  • Losing unit after multiplication
  • Expecting unit to change or disappear
4. Identify the error in this Sass code:
$height: 50px + 10;
.box {
  height: $height;
}
medium
A. Adding a unitless number to a number with unit causes error
B. Variable name cannot start with $
C. Missing semicolon after variable declaration
D. Units must be written in uppercase

Solution

  1. Step 1: Check operation between numbers with and without units

    Sass cannot add a unitless number to a number with units directly.
  2. Step 2: Identify the error cause

    Adding 50px and 10 (unitless) causes a unit mismatch error.
  3. Final Answer:

    Adding a unitless number to a number with unit causes error -> Option A
  4. Quick Check:

    Unit mismatch in addition = error [OK]
Hint: Cannot add unitless number to number with unit directly [OK]
Common Mistakes:
  • Assuming variable names can't start with $
  • Forgetting semicolons (Sass allows optional semicolons)
  • Thinking units are case sensitive
5. You want to create a responsive padding that is 2rem on small screens and 5% on large screens using Sass variables. Which approach correctly defines and uses these units?
hard
A.
$small-padding: 2rem;
$large-padding: 5%;
.container {
  padding: calc($small-padding + $large-padding);
}
B.
$small-padding: 2;
$large-padding: 5;
.container {
  padding: $small-padding rem;
  @media (min-width: 768px) {
    padding: $large-padding %;
  }
}
C.
$small-padding: 2rem;
$large-padding: 5%;
.container {
  padding: $small-padding + $large-padding;
}
D.
$small-padding: 2rem;
$large-padding: 5%;
.container {
  padding: $small-padding;
  @media (min-width: 768px) {
    padding: $large-padding;
  }
}

Solution

  1. Step 1: Define variables with units included

    Variables must include units like 2rem and 5% directly.
  2. Step 2: Use variables correctly in media queries

    Apply $small-padding normally and override with $large-padding inside media query.
  3. Step 3: Avoid invalid syntax

    The other options misuse units or try invalid operations like adding different units.
  4. Final Answer:

    Defines variables with units and uses media queries -> Option D
  5. Quick Check:

    Variables with units + media query = responsive padding [OK]
Hint: Include units in variables; use media queries to switch values [OK]
Common Mistakes:
  • Trying to add numbers with different units
  • Writing units outside variables incorrectly
  • Using calc() with Sass variables without interpolation
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