Функция CSS `exp()`
Базовая поддержка Широко доступна
Эта функция хорошо зарекомендовала себя и работает на множестве устройств и в разных версиях браузеров. Она доступна во всех браузерах с декабря 2023 года.
exp() CSS функция — это экспоненциальная функция, которая принимает число в качестве аргумента и возвращает математическую константу e, возведённую в степень, равную заданному числу.
Математическая константа e — основание натуральных логарифмов; её значение приблизительно равно 2.718281828459045.
Функция exp(number) содержит вычисление, которое возвращает то же значение, что и pow(e, number).
Синтаксис
/* A <number> value */ width: calc(100px * exp(-1)); /* 100px * 0.367879441171442 = 36.8px */ width: calc(100px * exp(0)); /* 100px * 1 = 100px */ width: calc(100px * exp(1)); /* 100px * 2.718281828459045 = 271.8px */
Параметры
Функция exp(number) принимает только одно значение в качестве параметра.
-
number - Вычисление, результатом которого является
<number>. Задаёт значение, которое нужно возвести в степеньe.
Возвращаемое значение
Возвращает неотрицательное <number>, представляющее enumber — результат возведения e в степень number.
- Если
numberравно-Infinity, результат —0. - Если
numberравно0, результат —1. - Если
numberравно1, результат —e(то есть2.718281828459045). - Если
numberравноInfinity, результат —Infinity.
Формальный синтаксис
<exp()> = exp( <calc-sum> ) <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]* <calc-product> = <calc-value> [ '*' <calc-value> | '/' <number> ]* <calc-value> = <number> | <dimension> | <percentage> | <calc-constant> | ( <calc-sum> ) <calc-constant> = e | pi | infinity | -infinity | NaN
Примеры
Поворот элементов
Функцию exp() можно использовать для rotate элементов, поскольку она возвращает <number>.
HTML
<div class="box box-1"></div> <div class="box box-2"></div> <div class="box box-3"></div> <div class="box box-4"></div> <div class="box box-5"></div>
CSS
body {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
gap: 50px;
}
div.box {
width: 100px;
height: 100px;
background: linear-gradient(orange, red);
}
div.box-1 {
transform: rotate(calc(1turn * exp(-1))); /* 0.3678794411714423turn */
}
div.box-2 {
transform: rotate(calc(1turn * exp(-0.75))); /* 0.4723665527410147turn */
}
div.box-3 {
transform: rotate(calc(1turn * exp(-0.5))); /* 0.6065306597126334turn */
}
div.box-4 {
transform: rotate(calc(1turn * exp(-0.25))); /* 0.7788007830714049turn */
}
div.box-5 {
transform: rotate(calc(1turn * exp(0))); /* 1turn */
}
Результат
Масштабирование заголовков с фиксированным коэффициентом
Функция exp() может быть полезна в таких подходах, как модульная шкала CSS, где размеры шрифта на странице соотносятся друг с другом с помощью фиксированного коэффициента.
HTML
<h1>Heading 1</h1> <h2>Heading 2</h2> <h3>Heading 3</h3> <h4>Heading 4</h4> <h5>Heading 5</h5> <h6>Heading 6</h6>
CSS
h1 {
font-size: calc(1rem * exp(1.25)); /* 3.4903429574618414rem */
}
h2 {
font-size: calc(1rem * exp(1)); /* 2.718281828459045rem */
}
h3 {
font-size: calc(1rem * exp(0.75)); /* 2.117000016612675rem */
}
h4 {
font-size: calc(1rem * exp(0.5)); /* 1.6487212707001282rem */
}
h5 {
font-size: calc(1rem * exp(0.25)); /* 1.2840254166877414rem */
}
h6 {
font-size: calc(1rem * exp(0)); /* 1rem */
}
Результат
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
exp |
120 |
120 |
118 |
106 |
15.4 |
120 |
118 |
80 |
15.4 |
25.0 |
120 |
15.4 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/exp