calc() |
calc(100% - 2rem) |
Basic arithmetic, mix units |
✅ All browsers |
min() |
min(500px, 100%) |
Responsive max-width |
✅ Chrome 79+, Firefox 75+, Safari 13.1+ |
max() |
max(300px, 50%) |
Responsive min-width |
✅ Chrome 79+, Firefox 75+, Safari 13.1+ |
clamp() |
clamp(1rem, 2vw, 3rem) |
Fluid typography, spacing |
✅ Chrome 79+, Firefox 75+, Safari 13.1+ |
round() |
round(nearest, 33%, 10%) |
Round to intervals |
⚠️ Chrome 125+, Firefox 118+ |
mod() |
mod(18px, 5px) |
Modulo/patterns |
⚠️ Chrome 125+, Firefox 118+ |
rem() |
rem(18px, 5px) |
Remainder operations |
⚠️ Chrome 125+, Firefox 118+ |
sin() |
sin(45deg) |
Circular layouts, waves |
⚠️ Chrome 111+, Firefox 108+, Safari 15.4+ |
cos() |
cos(90deg) |
Circular layouts |
⚠️ Chrome 111+, Firefox 108+, Safari 15.4+ |
tan() |
tan(30deg) |
Slopes, angles |
⚠️ Chrome 111+, Firefox 108+, Safari 15.4+ |
pow() |
pow(2, 3) |
Exponential scaling |
⚠️ Chrome 125+, Firefox 118+ |
sqrt() |
sqrt(144) |
Square roots |
⚠️ Chrome 125+, Firefox 118+ |
hypot() |
hypot(3, 4) |
Distance calculations |
⚠️ Chrome 125+, Firefox 118+ |