In this tutorial, weâre going to learn about calc() in CSS.
The calc() function is used to perform simple calculations in CSS. We can work with addition (+), subtraction (-), multiplication (*), and division (/) operators.
The most useful feature of this function is the ability to mix units. For example, you could use it to subtract pixels from the viewport width:
.main {
height: calc(100vh - 80px);
}
Using calc
The calc() function only works with values. So youâd only ever use it when expecting a pixel value.
Letâs take a look at some possible use cases..
We could use it to calculate the full viewport width, minus 200px accounting for a side nav:
div {
max-width: calc(100vw - 200px);
}
Or to put a âscroll to topâ button at the bottom-right corner of a page:
body {
background-image: url(arrow.png);
background-position: calc(100% - 25px) calc(100% - 25px);
}
Or when working with typography:
.text {
font-size: calc(2vw + 5px);
width: calc(100% - 10px);
height: calc(100vh - 20px);
}
It can also be used as a part of shorthand properties:
margin: calc(6.25% - 5px) 0;
Unfortunately, it doesnât work for media queries đ˘:
@media (max-width: 30rem) {
/* Works! */
}
@media (min-width: calc(30rem + 1px)) {
/* Doesn't work */
}
The real power of calc()comes from the ability to mix units. And every example above has done just that! The ability to perform math operations when working with lengths, is a great reason to start using calc!
Related Posts:

A little about me..
Hey, Iâm Tim! đ
Iâm a freelance business owner, web developer & author. I teach both new and experienced freelancers how to build a sustainable and successful freelancing business. Check out my Complete Guide to Freelancing if you'd like to find out more.
While you're here, you can browse through my blogs where I post freelancing tips, code tutorials, design inspiration, useful tools & resources, and much more! You can also join the newsletter, or find me on X.
Thanks for reading! đ





