cos()
Базовая версия 2023
Новое
С марта 2023 года эта функция работает на последних версиях устройств и браузеров. Возможно, эта функция не будет работать на старых устройствах или браузерах.
Функция cos() CSS функция — это тригонометрическая функция, возвращающая косинус числа, значение которого находится в диапазоне от -1 до 1. Функция содержит одно вычисление, которое должно привести к значению, являющемуся либо <number>, либо <angle> посредством интерпретации результата аргумента в радианах. То есть, cos(45deg), cos(0.125turn), и cos(3.14159 / 4) представляют одно и то же значение, примерно 0.707.
Синтаксис
/* Single <angle> values */ width: calc(100px * cos(45deg)); width: calc(100px * cos(0.125turn)); width: calc(100px * cos(0.785398163rad)); /* Single <number> values */ width: calc(100px * cos(63.673)); width: calc(100px * cos(2 * 0.125)); /* Other values */ width: calc(100px * cos(pi)); width: calc(100px * cos(e / 2));
Параметры
Возвращаемое значение
Косинус любого angle всегда возвращает число в диапазоне от −1 до 1.
- Если
angleравноinfinity,-infinity, илиNaN, результат равенNaN.
Формальный синтаксис
Примеры
Сохранение размера повернутого блока
Функцию cos() можно использовать для сохранения размера повернутого блока.
При вращении элемента с помощью rotate() он выходит за пределы своего начального размера. Для решения этой проблемы мы будем использовать cos() для обновления размера элемента.
Например, если повернуть 100px/100px квадрат 45deg, ромб, который он создаст, будет шире и выше, чем исходный квадрат. Чтобы уменьшить ромб в рамки, выделенные для исходного квадрата, вам нужно будет уменьшить ромб с помощью этой формулы: width = height = 100px * cos(45deg) = 100px * 0.707 = 70.7px. Вам также необходимо скорректировать transform-origin и добавить translate() для исправления позиции:
HTML
<div class="original-square"></div> <div class="rotated-diamond"></div> <div class="rotated-scaled-diamond"></div>
CSS
div.original-square {
width: 100px;
height: 100px;
background-color: blue;
}
div.rotated-diamond {
width: 100px;
height: 100px;
background-color: red;
transform: rotate(45deg);
}
div.rotated-scaled-diamond {
width: calc(100px * cos(45deg));
height: calc(100px * cos(45deg));
margin: calc(100px / 4 * cos(45deg));
transform: rotate(45deg);
transform-origin: center;
background-color: green;
}
Результат
Спецификации
| Спецификация |
|---|
| 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 | |
cos |
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/cos