The CSS math functions allow mathematical expressions to be used as property values. Here, we will explain the calc(), max() and min() functions.
The calc() Function
The calc() function performs a calculation to be used as the property value.
CSS Syntax
calc(expression)
| Value | Description |
|---|---|
| expression | Required. A mathematical expression. The result will be used as the value. The following operators can be used: + – * / |
Let us look at an example:
Example
Use calc() to calculate the width of a <div> element:
<!DOCTYPE html>
<html>
<head>
<style>
#div1 {
position: absolute;
left: 50px;
width: calc(100% - 100px);
border: 1px solid black;
background-color: yellow;
padding: 5px;
}
</style>
</head>
<body>
<h1>The calc() Function</h1>
<p>Create a div that stretches across the window, with a 50px gap between both sides of the div and the edges of the window:</p>
<div id="div1">Some text...</div>
</body>
</html>
Result:

The max() Function
The max() function uses the largest value, from a comma-separated list of values, as the property value.
CSS Syntax
max(value1, value2, …)
| Value | Description |
|---|---|
| value1, value2, … | Required. A list of comma-separated values – where the largest value is chosen |
Let us look at an example:
Example
Use max() to set the width of #div1 to whichever value is largest, 50% or 300px:
<!DOCTYPE html>
<html>
<head>
<style>
#div1 {
background-color: yellow;
height: 100px;
width: max(50%, 300px);
}
</style>
</head>
<body>
<h1>The max() Function</h1>
<p>Use max() to set the width of #div1 to whichever value is largest, 50% or 300px:</p>
<div id="div1">Some text...</div>
<p>Resize the browser window to see the effect.</p>
</body>
</html>
Result:

The min() Function
The min() function uses the smallest value, from a comma-separated list of values, as the property value.
CSS Syntax
min(value1, value2, …)
| Value | Description |
|---|---|
| value1, value2, … | Required. A list of comma-separated values – where the smallest value is chosen |
Let us look at an example:
Example
Use min() to set the width of #div1 to whichever value is smallest, 50% or 300px:
<!DOCTYPE html>
<html>
<head>
<style>
#div1 {
background-color: yellow;
height: 100px;
width: min(50%, 300px);
}
</style>
</head>
<body>
<h1>The min() Function</h1>
<p>Use min() to set the width of #div1 to whichever value is smallest, 50% or 300px:</p>
<div id="div1">Some text...</div>
<p>Resize the browser window to see the effect.</p>
</body>
</html>
Result:

