The sass:math module gives you ready-to-use math functions to do calculations in your stylesheets. It helps you keep your CSS neat and powerful.
sass:math module
@use 'sass:math'; // Example usage: $half: math.div(100px, 2); $rounded: math.round(2.7); $maxValue: math.max(10, 20, 15);
You must @use 'sass:math'; at the top of your Sass file to access math functions.
Functions are called with the prefix math. like math.div() or math.round().
@use 'sass:math'; $half-width: math.div(200px, 2);
@use 'sass:math'; $rounded-number: math.round(3.6);
@use 'sass:math'; $max-value: math.max(5, 10, 7);
@use 'sass:math'; $angle-in-radians: math.radians(180);
This Sass code uses the sass:math module to calculate sizes for a box. It doubles a base size, rounds a size, and divides for border radius. The box will have a blue background, white text, and centered content.
@use 'sass:math'; $base-size: 16px; $double-size: math.mul($base-size, 2); $rounded-size: math.round(12.7); .box { width: $double-size; height: $rounded-size; background-color: #4a90e2; color: white; display: flex; align-items: center; justify-content: center; font-size: $base-size; border-radius: math.div($base-size, 2); }
Always use @use 'sass:math'; once per file to access math functions.
Use math.div() instead of the slash / for division to avoid confusion with CSS slash syntax.
These functions help keep your styles dynamic and easy to update.
The sass:math module provides useful math functions for Sass.
Use it to do calculations like division, rounding, max/min, and angle conversions.
It helps make your CSS flexible and easier to maintain.
Practice
sass:math module in Sass?Solution
Step 1: Understand the module's role
Thesass:mathmodule offers math functions such as rounding, max, min, and angle conversions.Step 2: Compare options with module features
Only To provide useful math functions like rounding and max/min. correctly describes these math functions; others mention unrelated features.Final Answer:
To provide useful math functions like rounding and max/min. -> Option AQuick Check:
sass:math = math functions [OK]
- Confusing sass:math with color or animation modules
- Thinking sass:math handles file imports
- Assuming sass:math adds new CSS properties
sass:math module in a Sass file?Solution
Step 1: Recall Sass module import syntax
Sass uses@useto import modules likesass:math.Step 2: Check each option's validity
@importis deprecated for modules,@requireand@includeare invalid for imports.Final Answer:
@use 'sass:math'; -> Option DQuick Check:
Module import = @use [OK]
- Using @import instead of @use
- Trying @include or @require for modules
- Forgetting quotes around module name
@use 'sass:math';
$val: math.round(4.7);
.result {
width: $val * 1rem;
}Solution
Step 1: Understand math.round function
math.round(4.7)rounds 4.7 to the nearest whole number, which is 5.Step 2: Calculate the width value
The width becomes 5 * 1rem = 5rem, so the CSS is.result { width: 5rem; }.Final Answer:
.result { width: 5rem; } -> Option AQuick Check:
round(4.7) = 5rem [OK]
- Assuming math.round truncates instead of rounds
- Confusing multiplication with string concatenation
- Expecting syntax error due to module usage
sass:math:@use 'sass:math'; $angle: 90deg; $rad: math.deg($angle);
Solution
Step 1: Understand math.deg and math.rad functions
math.deg()converts radians to degrees;math.rad()converts degrees to radians.Step 2: Check code's intent and function used
The variable$angleis in degrees, butmath.deg()is used, which expects radians. The correct function ismath.rad().Final Answer:
Using math.deg instead of math.rad to convert degrees to radians. -> Option BQuick Check:
Degrees to radians = math.rad [OK]
- Mixing up math.deg and math.rad functions
- Thinking units like deg can't be assigned
- Assuming missing semicolon causes error
$max-width that is the maximum of three values: 300px, 25rem, and 400px. Which code correctly uses sass:math to find this maximum, assuming 1rem = 16px?Solution
Step 1: Understand unit conversion for comparison
To compare 25rem with px, convert 25rem to px: 25 * 16px = 400px.Step 2: Use math.max with consistent units
@use 'sass:math'; $max-width: math.max(300px, 25 * 16px, 400px); converts 25rem to 400px by multiplying 25 * 16px, then finds max among 300px, 400px, 400px.Final Answer:
@use 'sass:math'; $max-width: math.max(300px, 25 * 16px, 400px); -> Option CQuick Check:
Convert units before max [OK]
- Passing mixed units without conversion
- Using math.div incorrectly for unit conversion
- Assuming math.max auto-converts units
Ready to prove it?
Pass the test and this pattern moves unknown
