Spec-Zone.ru › CSS

Функция CSS `atan()`

Базовая поддержка Широко доступна

Эта возможность хорошо зарекомендовала себя и работает на множестве устройств и в разных версиях браузеров. Она доступна во всех браузерах с марта 2023 года.

atan() — это тригонометрическая CSS функция, возвращающая арктангенс числа от -∞ до +∞. Функция выполняет единственное вычисление, результатом которого является <angle> от -90deg до 90deg.

Синтаксис

/* Single <number> values */
transform: rotate(atan(1));
transform: rotate(atan(4 * 50));

/* Other values */
transform: rotate(atan(pi / 2));
transform: rotate(atan(e * 3));

Параметры

Функция atan(number) принимает только одно значение в качестве параметра.

number
Вычисление, результатом которого является <number> от -∞ до +∞.

Возвращаемое значение

Арктангенс числа number всегда возвращает <angle> от -90deg до 90deg.

  • Если number равно 0⁻, результат — 0⁻.
  • Если number равно +∞, результат — 90deg.
  • Если number равно -∞, результат — -90deg.

То есть:

  • atan(-infinity) обозначает -90deg.
  • atan(-1) обозначает -45deg
  • atan(0) обозначает 0deg
  • atan(1) обозначает 45deg
  • atan(infinity) обозначает 90deg.

Формальный синтаксис

<atan()> = 
  atan( <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

Примеры

Поворот элементов

Функцию atan() можно использовать для rotate элементов, поскольку она возвращает <angle>.

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(atan(-99999));
}
div.box-2 {
  transform: rotate(atan(-1));
}
div.box-3 {
  transform: rotate(atan(0));
}
div.box-4 {
  transform: rotate(atan(1));
}
div.box-5 {
  transform: rotate(atan(99999));
}

Результат

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

Спецификация
CSS Values and Units Module Level 4
# trig-funcs

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

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
atan
111
111
108
97
15.4
111
108
75
15.4
22.0
111
15.4

См. также

  • sin()
  • cos()
  • tan()
  • asin()
  • acos()
  • atan2()

© 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/atan

Spec-Zone.ru

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