Bird
Raised Fist0
SASSmarkup~15 mins

Built-in math functions in SASS - Mini Project: Build & Apply

Choose your learning style10 modes available
Using Built-in Math Functions in Sass
📖 Scenario: You are designing a simple webpage style where you want to use Sass math functions to calculate sizes dynamically. This helps keep your styles neat and consistent.
🎯 Goal: Build a Sass stylesheet that uses built-in math functions like round(), ceil(), and floor() to set font sizes and spacing.
📋 What You'll Learn
Create variables with decimal numbers
Create a variable to hold a rounded value using round()
Use ceil() and floor() functions to calculate other sizes
Apply these calculated sizes to CSS properties in a selector
💡 Why This Matters
🌍 Real World
Web designers often use Sass math functions to keep their styles consistent and easy to update by calculating sizes dynamically.
💼 Career
Knowing how to use Sass math functions is useful for front-end developers and UI designers to write cleaner, maintainable CSS.
Progress0 / 4 steps
1
Create decimal number variables
Create two variables in Sass called $base-font-size with the value 1.25rem and $spacing with the value 2.7rem.
SASS
Hint

Use the $ symbol to create variables in Sass.

2
Create a rounded font size variable
Create a new variable called $rounded-font-size that uses the Sass round() function on $base-font-size.
SASS
Hint

Use round() to round decimal numbers in Sass.

3
Calculate spacing using ceil() and floor()
Create two new variables: $spacing-ceil using ceil() on $spacing, and $spacing-floor using floor() on $spacing.
SASS
Hint

Use ceil() to round up and floor() to round down decimal numbers.

4
Apply calculated sizes in CSS
Create a CSS rule for the selector .content that sets font-size to $rounded-font-size, margin-top to $spacing-ceil, and margin-bottom to $spacing-floor.
SASS
Hint

Use the variables inside the CSS properties by writing their names with $.

Practice

(1/5)
1. What is the purpose of Sass built-in math functions?
easy
A. To perform calculations like rounding and comparing numbers in styles
B. To create animations in CSS
C. To add images to the webpage
D. To write HTML code inside Sass files

Solution

  1. Step 1: Understand Sass math functions

    Sass math functions help with calculations such as rounding, min/max, and converting units.
  2. Step 2: Identify the correct purpose

    Only To perform calculations like rounding and comparing numbers in styles describes calculation tasks related to styles, which is what Sass math functions do.
  3. Final Answer:

    To perform calculations like rounding and comparing numbers in styles -> Option A
  4. Quick Check:

    Math functions = calculations [OK]
Hint: Math functions handle numbers and calculations in Sass [OK]
Common Mistakes:
  • Confusing math functions with animation or HTML tasks
  • Thinking math functions add images
  • Assuming math functions write HTML code
2. Which of the following is the correct way to import the Sass math module?
easy
A. @use 'sass:math';
B. @import 'math';
C. @include math();
D. @require 'sass/math';

Solution

  1. Step 1: Recall Sass module import syntax

    Sass uses the @use rule to import built-in modules like math.
  2. Step 2: Match correct syntax

    The correct syntax is @use 'sass:math';. Other options use outdated or incorrect syntax.
  3. Final Answer:

    @use 'sass:math'; -> Option A
  4. Quick Check:

    Import math module = @use 'sass:math'; [OK]
Hint: Use '@use' with 'sass:math' to import math functions [OK]
Common Mistakes:
  • Using @import instead of @use
  • Trying @include for importing modules
  • Using incorrect path or syntax
3. What is the output of this Sass code?
@use 'sass:math';

$val: math.ceil(4.3);
.result {
  width: $val * 1rem;
}
medium
A. .result { width: 4rem; }
B. .result { width: 4.3rem; }
C. Syntax error
D. .result { width: 5rem; }

Solution

  1. Step 1: Understand math.ceil function

    math.ceil(4.3) rounds 4.3 up to the nearest whole number, which is 5.
  2. Step 2: Calculate the width property

    Width is set to 5 * 1rem = 5rem, so the output CSS is .result { width: 5rem; }.
  3. Final Answer:

    .result { width: 5rem; } -> Option D
  4. Quick Check:

    Ceil(4.3) = 5rem [OK]
Hint: Ceil rounds up to next whole number [OK]
Common Mistakes:
  • Confusing ceil with floor (round down)
  • Using original decimal value instead of rounded
  • Expecting syntax error due to module import
4. Identify the error in this Sass code snippet:
@use 'sass:math';

$angle: 45deg;
$half: math.div($angle, 2px);
.box {
  transform: rotate($half);
}
medium
A. Incorrect import syntax for math module
B. Missing semicolon after $angle declaration
C. math.div cannot divide units like degrees
D. transform property does not accept variables

Solution

  1. Step 1: Check math.div usage with units

    math.div divides numbers but cannot divide units like degrees directly.
  2. Step 2: Understand unit division rules

    Dividing 45deg by 2px is invalid because degrees and px are incompatible units; math.div expects unitless numbers or compatible units.
  3. Final Answer:

    math.div cannot divide units like degrees -> Option C
  4. Quick Check:

    math.div with units like deg = error [OK]
Hint: math.div only divides numbers without incompatible units [OK]
Common Mistakes:
  • Assuming math.div works with all units
  • Ignoring unit compatibility in division
  • Thinking transform can't use variables
5. You want to create a responsive font size that is the smaller of 3rem or 5rem using Sass math functions. Which code correctly sets $font-size to this value?
hard
A. @use 'sass:math'; $font-size: math.max(3rem, 5rem);
B. @use 'sass:math'; $font-size: math.min(3rem, 5rem);
C. $font-size: min(3rem, 5rem);
D. @use 'sass:math'; $font-size: math.round(3rem, 5rem);

Solution

  1. Step 1: Understand the goal

    You want the smaller value between 3rem and 5rem for responsive font size.
  2. Step 2: Identify correct Sass math function

    math.min() returns the smaller of two values. math.max() returns the larger, and math.round() rounds numbers, so they are incorrect here.
  3. Final Answer:

    @use 'sass:math'; $font-size: math.min(3rem, 5rem); -> Option B
  4. Quick Check:

    Use math.min for smallest value [OK]
Hint: Use math.min to pick smaller value between two units [OK]
Common Mistakes:
  • Using math.max instead of math.min
  • Omitting @use import for math module
  • Trying to round instead of compare values
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