The sin() CSS function is a trigonometric function that returns the sine of a number, which is a value between -1 and 1. The function contains a single calculation that must resolve to either a <number>() or an <angle>() by interpreting the result of the argument as radians. That is, sin(45deg), sin(0.125turn), and sin(3.14159 / 4) all represent the same value, approximately 0.707.
Syntax
/* Single <angle> values */ width: calc(100px * sin(45deg)); width: calc(100px * sin(0.25turn)); width: calc(100px * sin(1.0471967rad)); /* Single <number> values */ width: calc(100px * sin(63.673)); width: calc(100px * sin(2 * 0.125)); /* Other values */ width: calc(100px * sin(pi / 2)); width: calc(100px * sin(e / 4));
Parameter
The sin(angle) function accepts only one value as its parameter.
angle-
A calculation which resolves to a
<number>()or an<angle>(). When specifying unitless numbers they are interpreted as a number of radians, representing an<angle>()
Return value
The sine of an angle will always return a number between −1 and 1.
- If
angleisinfinity,-infinity, orNaN, the result isNaN. - If
angleis0⁻, the result is0⁻.
Examples
Changing box sizes
In this example, sin(30deg) will return 0.5, making the box have a 50px width and a 50px height.
div {
background-color: red;
width: calc(sin(30deg) * 100px);
height: calc(sin(30deg) * 100px);
}
Controlling animation duration
Another use case is to control the animation-duration(), reducing the duration based on the sine value. In this case, the animation duration will be 1s.
div {
animation-name: myAnimation;
animation-duration: calc(sin(0.25turn) * 1s);
}