Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. CSS
  3. Reference
  4. Values
  5. sin()

sin()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨March 2023⁩.

Thesin()CSSfunction is a trigonometric function that returns the sine of a number, which is a value between-1 and1. 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), andsin(3.14159 / 4) all represent the same value, approximately0.707.

Try it

transform: translateX(calc(cos(0deg) * 140px))  translateY(calc(sin(0deg) * -140px));
transform: translateX(calc(cos(90deg) * 140px))  translateY(calc(sin(90deg) * -140px));
transform: translateX(calc(cos(135deg) * 140px))  translateY(calc(sin(135deg) * -140px));
transform: translateX(calc(cos(180deg) * 140px))  translateY(calc(sin(180deg) * -140px));
transform: translateX(calc(cos(-45deg) * 140px))  translateY(calc(sin(-45deg) * -140px));
<div>  <span></span></div>
:root {  --radius: 140px;  --dot-size: 10px;}.circle {  display: grid;  place-content: center;  margin: 0 auto;  width: calc(var(--radius) * 2);  aspect-ratio: 1;  border-radius: 50%;  border: 2px solid #666666;  background-image:    radial-gradient(black var(--dot-size), transparent var(--dot-size)),    linear-gradient(135deg, blue, deepskyblue, lightgreen, lavender, honeydew);}.dot {  display: block;  width: var(--dot-size);  aspect-ratio: 1;  border-radius: 50%;  border: 2px solid #666666;  background-color: #ff6666;  transform: translateX(calc(cos(0deg) * var(--radius)))    translateY(calc(sin(0deg) * var(--radius) * -1));}

Syntax

css
/* 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));

Parameters

Thesin(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 anangle will always return a number between−1 and1.

  • Ifangle isinfinity,-infinity, orNaN, the result isNaN.
  • Ifangle is0⁻, the result is0⁻.

Formal syntax

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

Examples

Changing box sizes

In this example,sin(30deg) will return0.5, making the box have a50px width and a50px height.

css
div {  background-color: red;  width: calc(sin(30deg) * 100px);  height: calc(sin(30deg) * 100px);}

Controlling animation duration

Another use case is to control theanimation-duration, reducing the duration based on the sine value. In this case, the animation duration will be1s.

css
div {  animation-name: myAnimation;  animation-duration: calc(sin(0.25turn) * 1s);}

Specifications

Specification
CSS Values and Units Module Level 4
# trig-funcs

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp