rotate() CSS Funktion
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die rotate() CSS Funktion definiert eine Transformation, die ein Element um einen festen Punkt auf der 2D-Ebene dreht, ohne es zu verformen. Ihr Ergebnis ist ein <transform-function> Datentyp.
Probieren Sie es aus
transform: rotate(0);
transform: rotate(90deg);
transform: rotate(-0.25turn);
transform: rotate(3.142rad);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
Der feste Punkt, um den sich das Element dreht – oben erwähnt – ist auch als Transformationsursprung bekannt. Dieser ist standardmäßig das Zentrum des Elements, aber Sie können Ihren eigenen benutzerdefinierten Transformationsursprung mit der transform-origin Eigenschaft festlegen.
Syntax
rotate(a)
Werte
- a
-
Ist ein
<angle>und stellt den Winkel der Drehung dar. Die Drehrichtung hängt von der Schreibrichtung ab. In einem Links-nach-Rechts-Kontext bezeichnet ein positiver Winkel eine Drehung im Uhrzeigersinn, ein negativer Winkel eine Drehung gegen den Uhrzeigersinn. In einem Rechts-nach-Links-Kontext bezeichnet ein positiver Winkel eine Drehung gegen den Uhrzeigersinn, ein negativer Winkel eine Drehung im Uhrzeigersinn. Eine Drehung um 180° wird als Punktspiegelung bezeichnet.
| Kartesische Koordinaten auf ℝ^2 | Homogene Koordinaten auf ℝℙ^2 | Kartesische Koordinaten auf ℝ^3 | Homogene Koordinaten auf ℝℙ^3 |
|---|---|---|---|
|
|
|
|
|
[cos(a) sin(a) -sin(a) cos(a) 0 0] |
Formale Syntax
<rotate()> =
rotate( [ <angle> | <zero> ] )
Beispiele
>Einfaches Beispiel
HTML
<div>Normal</div>
<div class="rotated">Rotated</div>
CSS
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.rotated {
transform: rotate(45deg); /* Equal to rotateZ(45deg) */
background-color: pink;
}
Ergebnis
Kombination der Drehung mit einer anderen Transformation
Wenn Sie mehrere Transformationen auf ein Element anwenden möchten, seien Sie vorsichtig mit der Reihenfolge, in der Sie Ihre Transformationen angeben. Wenn Sie beispielsweise vor der Translation rotieren, erfolgt die Translation entlang der neuen Drehachse!
HTML
<div>Normal</div>
<div class="rotate">Rotated</div>
<div class="rotate-translate">Rotated + Translated</div>
<div class="translate-rotate">Translated + Rotated</div>
CSS
div {
position: absolute;
left: 40px;
top: 40px;
width: 100px;
height: 100px;
background-color: lightgray;
}
.rotate {
background-color: transparent;
outline: 2px dashed;
transform: rotate(45deg);
}
.rotate-translate {
background-color: pink;
transform: rotate(45deg) translateX(180px);
}
.translate-rotate {
background-color: gold;
transform: translateX(180px) rotate(45deg);
}
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| CSS Transforms Module Level 1> # funcdef-transform-rotate> |
Browser-Kompatibilität
Siehe auch
transformEigenschaftrotateEigenschaft<transform-function>rotate3d()