Spec-Zone.ru › CSS

Функция 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 */
}

Результат

Спецификации

Спецификация
Модуль CSS «Значения и единицы измерения», уровень 4
# exponent-funcs

Совместимость с браузерами

Настольные Мобильные
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

См. также

  • pow()
  • sqrt()
  • hypot()
  • log()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API