sin()

Baseline 2023

Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die sin() CSS Funktion ist eine trigonometrische Funktion, die den Sinus einer Zahl zurückgibt, welcher ein Wert zwischen -1 und 1 ist. Die Funktion enthält eine einzelne Berechnung, die entweder zu einer <number> oder einem <angle> aufgelöst werden muss, indem das Ergebnis des Arguments als Bogenmaß interpretiert wird. Das bedeutet, sin(45deg), sin(0.125turn) und sin(3.14159 / 4) repräsentieren alle denselben Wert, ungefähr 0.707.

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));

Parameter

Die Funktion sin(angle) akzeptiert nur einen Wert als Parameter.

angle

Eine Berechnung, die sich auf eine <number> oder einen <angle> auflöst. Wenn maßlose Zahlen angegeben werden, werden sie als Anzahl von Bogenmaß interpretiert, was einem <angle> entspricht.

Rückgabewert

Der Sinus eines angle wird immer eine Zahl zwischen −1 und 1 zurückgeben.

  • Wenn angle infinity, -infinity oder NaN ist, ist das Ergebnis NaN.
  • Wenn angle 0⁻ ist, ist das Ergebnis 0⁻.

Formale 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

Beispiele

Ändern der Box-Größen

In diesem Beispiel wird sin(30deg) 0.5 zurückgeben, wodurch die Box eine Breite von 50px und eine Höhe von 50px erhält.

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

Steuerung der Animationsdauer

Ein weiterer Anwendungsfall ist die Steuerung der animation-duration, die Dauer wird basierend auf dem Sinuswert reduziert. In diesem Fall beträgt die Animationsdauer 1s.

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

Spezifikationen

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

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch