cos()
Baseline 2023Newly 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 cos()
CSS Funktion ist eine trigonometrische Funktion, die den Kosinus einer Zahl zurückgibt, welcher einen Wert zwischen -1
und 1
hat. Die Funktion enthält eine einzelne Berechnung, die entweder in einen <number>
oder ein <angle>
aufgelöst werden muss, indem das Ergebnis des Arguments als Radiant interpretiert wird. Das heißt, cos(45deg)
, cos(0.125turn)
und cos(3.14159 / 4)
stellen alle denselben Wert dar, ungefähr 0.707
.
Syntax
/* 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));
Parameter
Rückgabewert
Der Kosinus eines angle
wird immer eine Zahl zwischen −1
und 1
ergeben.
- Wenn
angle
unendlich
,-unendlich
oderNaN
ist, ist das ErgebnisNaN
.
Formale Syntax
Beispiele
Größe eines gedrehten Kastens beibehalten
Die cos()
-Funktion kann verwendet werden, um die Größe eines gedrehten Kastens beizubehalten.
Wenn das Element mit rotate()
gedreht wird, geht es über seine ursprüngliche Größe hinaus. Um dies zu beheben, verwenden wir cos()
, um die Größe des Elements zu aktualisieren.
Wenn Sie zum Beispiel ein 100px
/100px
Quadrat um 45deg
drehen, wird der resultierende Diamant breiter und höher als das ursprüngliche Quadrat sein. Um den Diamanten in die Box zu schrumpfen, die für das ursprüngliche Quadrat vorgesehen ist, müssten Sie den Diamanten mit folgender Formel skalieren: width = height = 100px * cos(45deg) = 100px * 0.707 = 70.7px
. Sie müssen auch den transform-origin
anpassen und translate()
hinzufügen, um die Position zu korrigieren:
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;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Values and Units Module Level 4 # trig-funcs |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
cos() |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support