Loading lesson path
Concept visual
Start at both ends
Overview
CSS math functions allow mathematical expressions to be used as property values. In this chapter, we will explain the following math functions: calc() max() min() clamp()
The calc() function performs a mathematical calculation that will be used as the property value. The calc() function supports addition (+), subtraction (-), multiplication (*), and division (/), and can combine different units, like pixels and percentages.
expression )
Required. A mathematical expression. The result will be used as the value Let us look at an example:
Formula
Use calc() to calculate the width and the height of a < div > element:#div1 {
margin: auto;
width: calc(100% - 100px);
height: calc(30vh + 50px);
border: 1px solid black;
padding: 10px;
}The max() function takes a comma-separated list of values, and uses the largest value from the list as the property value.
value1, value2, ...)
Description value1, value2, ...
Formula
Required. A list of comma - separated valuesLet us look at an example:
Use max() to set the width of #div1 to whichever value is largest, 50% or 300px:
#div1 {
height: 100px;
width: max(50%, 300px);
border: 1px solid black;
padding: 10px;
}The min() function takes a comma-separated list of values, and uses the smallest value from the list as the property value.
value1, value2, ...)
Description value1, value2, ...
Formula
Required. A list of comma - separated valuesLet us look at an example:
Use min() to set the width of #div1 to whichever value is smallest, 50% or 300px:
#div1 {
height: 100px;
width: min(50%, 300px);
border: 1px solid black;padding:
10px;
}The clamp() function is used to set a value that will adjust responsively between a minimum value and a maximum value depending on the size of the viewport. The clamp() function has three parameters: a minimum value, a preferred value, and a maximum value. If the preferred value is smaller than the minimum value or larger than the maximum value, the preferred value is used.
min, preferred, max )
Optional. Specifies the smallest allowed value preferred Required. Specifies the preferred value max Optional. Specifies the largest allowed value Let us look at an example:
Set the <h2> element's minimum font-size to 2rem, and the maximum font-size to 3.5rem. Also, set the <p> element's minimum font-size to 1rem, and the maximum font-size to 2.5rem:
h2 {
font-size: clamp(2rem, 2.5vw, 3.5rem);
}
p {
font-size: clamp(1rem, 2.5vw, 2.5rem);
}For a complete list of all CSS functions, visit our CSS Functions Reference.