Spec-Zone.ru › CSS

CSS-функция `tan()`

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

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

tan() — это тригонометрическая CSS-функция, которая возвращает тангенс числа — значение в диапазоне от −infinity до infinity. Функция содержит единственное вычисление, результатом которого должно быть либо <number>, либо <angle>; результат аргумента интерпретируется как радианы.

Синтаксис

/* Single <angle> values */
width: calc(100px * tan(45deg));
width: calc(100px * tan(0.125turn));
width: calc(100px * tan(0.785398163rad));

/* Single <number> values */
width: calc(100px * tan(0.5773502));
width: calc(100px * tan(1.732 - 1));

/* Other values */
width: calc(100px * tan(pi / 3));
width: calc(100px * tan(e));

Параметры

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

angle
Вычисление, результатом которого является <number> или <angle>. Безразмерные числа интерпретируются как количество радиан, представляющее <angle>.

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

Тангенс angle всегда возвращает число в диапазоне от −∞ до +∞.

  • Если angle равно infinity, -infinity или NaN, результат — NaN.
  • Если angle равно 0⁻, результат — 0⁻.
  • Если angle — одно из значений асимптоты (например, 90deg, 270deg и т. д.), результат явно не определён. Авторы не должны рассчитывать, что tan() вернёт какое-либо конкретное значение для этих входных данных.

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

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

Примеры

Рисование параллелограммов

Функцию tan() можно использовать для рисования параллелограмма с заданной ограничивающей рамкой.

HTML

<div class="parallelogram"></div>

CSS

body {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.parallelogram {
  --w: 400;
  --h: 200;
  --angle: 30deg;
  position: relative;
  width: calc(1px * var(--w));
  height: calc(1px * var(--h));
}
.parallelogram::before {
  content: "";
  position: absolute;
  width: calc(100% - 100% * var(--h) / var(--w) * tan(var(--angle)));
  height: 100%;
  transform-origin: 0 100%;
  transform: skewX(calc(0deg - var(--angle)));
  background-color: red;
}

Результат

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

Спецификация
Модуль значений и единиц CSS, уровень 4
# trig-funcs

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

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

См. также

  • sin()
  • cos()
  • asin()
  • acos()
  • atan()
  • atan2()
  • Использование типизированной арифметики CSS

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

Spec-Zone.ru

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