CSS Math Functions (original) (raw)

Last Updated : 03 Jan, 2025

CSS Math Functions allow you to perform calculations directly in your stylesheets, making it easier to create flexible and responsive designs. With functions like calc(), max(), and min(), you can dynamically adjust styles to suit various conditions.

1. calc() Function

The calc() function allows you to perform mathematical calculations in CSS. It supports addition (+), subtraction (-), multiplication (*), and division (/).

HTML `

<style>
    .box {
        width: calc(50% - 20px);
        height: 100px;
        background-color: lightblue;
    }
</style>

`

2. min() Function

The min() function returns the smallest value from a list of values. It’s useful when you want an element’s property to have a dynamic value that adjusts based on other conditions but doesn't exceed a certain limit.

HTML `

<style>
    .box {
        width: min(200px, 50%);
        height: 100px;
        background-color: lightgreen;
    }
</style>

`

3. max() Function

The max() function works the opposite of min(). It returns the largest value from a list of values. This is useful when you want an element's property to be at least a certain size but can grow larger if necessary.

HTML `

<style>
    .box {
        width: max(300px, 50%);
        height: 100px;
        background-color: lightcoral;
    }
</style>

`

4. clamp() Function

The clamp() function defines a value that is constrained within a defined minimum and maximum range, while allowing for a preferred value in between. This is perfect for creating responsive designs that adjust with the viewport size.

HTML `

<style>
    .box {
        font-size: clamp(14px, 5vw, 24px);
        height: 100px;
        background-color: lightgoldenrodyellow;
    }
</style>
Responsive Text

`

5. var() Function

The var() function is used to access the value of a CSS custom property (variable). Custom properties allow you to store values and reuse them throughout your CSS, making the code more maintainable and flexible.

HTML `

<style>
    :root {
        --box-width: 300px;
    }
    .box {
        width: var(--box-width);
        height: 100px;
        background-color: lightpink;
    }
</style>

`

**Exponential functions

Type Syntax Description
pow() Function width: calc(10px * pow(5,2)); It calculates the base raised to the power of the number.
sqrt() Function width: calc(100px * sqrt(9)); It calculates the square root of a number
hypot() Function width: hypot(3em, 4em); It calculates the square root of the sum of the squares of its arguments.
log() Function width: calc(100px * log(8, 2)); /* 300px */ It calculates the logarithm of a number
exp() Function width: calc(100px * exp(0)); /* 100px * 1 = 100px */ It is used to calculate e raised to the power of a number.
Type Syntax Description
abs() Function width: abs(20% - 100px); It calculates the absolute value of the number
sign() Function top: sign(20vh - 100px); It calculates the sign of the number

**Stepped value functions

Type Syntax Description
round() Function property: round(, valueToRound, roundingInterval); It calculates the rounded number based on the rounding strategy.
mod() Function mod(dividend, divisor) It calculates the modulus by dividing one number by another.
rem() Function rem(dividend, divisor) It calculates the remainder by dividing one number with another.

Best Practices for Using Math Functions in CSS