atan2()
Базовая линия 2023
Новое
С марта 2023 года эта функция работает на последних устройствах и версиях браузеров. Возможно, она не будет работать на старых устройствах или браузерах.
Функция CSS CSS atan2() — это тригонометрическая функция, которая возвращает обратный тангенс двух значений в промежутке от -infinity до infinity. Функция принимает два аргумента и возвращает число радиан, представляющее <angle> между -180deg и 180deg.
Синтаксис
/* Two <number> values */ transform: rotate(atan2(3, 2)); /* Two <dimension> values */ transform: rotate(atan2(1rem, -0.5rem)); /* Two <percentage> values */ transform: rotate(atan2(20%, -30%)); /* Other values */ transform: rotate(atan2(pi, 45)); transform: rotate(atan2(e, 30));
Параметры
Функция atan2() принимает два значения, разделенные запятой, в качестве параметров. Каждое значение может быть <number>, <dimension> или <percentage>. Оба значения должны быть одного типа, хотя если они являются <dimension>, они могут иметь разные единицы (например, atan2(100px, 5vw) допустимо).
y-
Координата y точки. Вычисление, которое приводит к
<number>,<dimension>или<percentage>. x-
Координата x точки. Вычисление, которое приводит к
<number>,<dimension>или<percentage>.
Возвращаемое значение
Учитывая два значения x и y, функция atan2(y, x) вычисляет и возвращает <angle> между положительной осью x и лучом из начала координат к точке (x, y).
Формальный синтаксис
<atan2()> =
atan2( <calc-sum> , <calc-sum> )
<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*
<calc-product> =
<calc-value> [ [ '*' | '/' ] <calc-value> ]*
<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )
<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN
Примеры
Поворот элементов
Функция atan2() может использоваться для 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
div.box {
width: 100px;
height: 100px;
background: linear-gradient(orange, red);
}
div.box-1 {
transform: rotate(atan2(3, 2));
}
div.box-2 {
transform: rotate(atan2(3%, -2%));
}
div.box-3 {
transform: rotate(atan2(-1, 0.5));
}
div.box-4 {
transform: rotate(atan2(1, 0.5));
}
div.box-5 {
transform: rotate(atan2(1rem, -0.5rem));
}
Результат
Спецификации
| Спецификация |
|---|
| CSS Values and Units Module Level 4 # trig-funcs |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
atan2 |
111 | 111 | 108 | 97 | 15.4 | 111 | 108 | 75 | 15.4 | 22.0 | 111 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/atan2