Bird
Raised Fist0
SASSmarkup~5 mins

Built-in math functions in SASS

Choose your learning style10 modes available
Introduction

Built-in math functions help you do common math tasks easily in your styles. They save time and make your code cleaner.

You want to calculate sizes like widths or heights based on other values.
You need to find the maximum or minimum of several numbers for layout.
You want to round numbers to avoid blurry edges in designs.
You want to do simple math like adding, subtracting, or multiplying colors or lengths.
You want to convert angles or do trigonometry for animations or shapes.
Syntax
SASS
function-name(argument1, argument2, ...)
Use parentheses () to pass values to the function.
Functions return a value you can use in your styles.
Examples
Returns the largest value, here 20px.
SASS
max(10px, 20px, 15px)
Rounds 4.7 to the nearest whole number, 5.
SASS
round(4.7)
Converts 0.5 to 50%.
SASS
percentage(0.5)
Returns the absolute value, 10.
SASS
abs(-10)
Sample Program

This code uses Sass math functions to set the box width to the largest value, round the height, convert a fraction to percentage for margin, get absolute padding, and limit hue value for background color.

SASS
@use "sass:math";

.box {
  width: math.max(100px, 150px, 120px);
  height: math.round(75.6);
  margin-left: math.percentage(0.25);
  padding: math.abs(-20px);
  background-color: hsl(math.min(360, 400), 70%, 50%);
}
OutputSuccess
Important Notes

Remember to import the math module with @use "sass:math"; before using math functions.

Math functions help keep your styles dynamic and easy to update.

Summary

Built-in math functions make calculations in Sass simple and clean.

Use them to compare, round, convert, and calculate values in your styles.

Always import the math module to access these functions.

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