matrix()
Die matrix()
CSS Funktion definiert eine homogene 2D-Transformationsmatrix. Das Ergebnis ist ein <transform-function>
Datentyp.
Probieren Sie es aus
transform: matrix(1.2, 0.2, -1, 0.9, 0, 20);
transform: matrix(0.4, 0, 0.5, 1.2, 60, 10);
transform: matrix(0, 1, 1, 0, 0, 0);
transform: matrix(0.1, 1, -0.3, 1, 0, 0);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
Note:
matrix(a, b, c, d, tx, ty)
ist eine Kurzform fürmatrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1)
.
Syntax
Die matrix()
Funktion wird mit sechs Werten angegeben. Die konstanten Werte werden implizit berücksichtigt und nicht als Parameter übergeben; die anderen Parameter werden in spaltenweisem Format beschrieben.
matrix(a, b, c, d, tx, ty)
Werte
- a b c d
-
Sind
<number>
s, die die lineare Transformation beschreiben. - tx ty
-
Sind
<number>
s, die die anzuwendende Translation beschreiben.
Kartesische Koordinaten auf ℝ^2 | Homogene Koordinaten auf ℝℙ^2 | Kartesische Koordinaten auf ℝ^3 | Homogene Koordinaten auf ℝℙ^3 |
---|---|---|---|
|
|
|
|
[a b c d tx ty] |
Die Werte repräsentieren die folgenden Funktionen:
matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())
.
Formale Syntax
<matrix()> =
matrix( <number>#{6} )
Beispiele
HTML
<div>Normal</div>
<div class="changed">Changed</div>
CSS
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.changed {
transform: matrix(1, 2, -1, 1, 80, 80);
background-color: pink;
}
Ergebnis
Spezifikationen
Browser-Kompatibilität
Siehe auch
transform
- Individuelle Transformations-Eigenschaften:
<transform-function>
matrix3d()