matrix()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Die matrix() CSS Funktion definiert eine homogene 2D-Transformationsmatrix. Ihr Ergebnis ist ein <transform-function> Datentyp.

Probieren Sie es aus

Note: matrix(a, b, c, d, tx, ty) ist eine Kurzform für matrix3d(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 sind implizit und werden nicht als Parameter übergeben; die anderen Parameter sind in der spaltenweisen Anordnung beschrieben.

css
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
(acbd)\begin{pmatrix} a & c \\ b & d \end{pmatrix}
(actxbdty001)\left( \begin{array}{ccc} a & c & tx \\ b & d & ty \\ 0 & 0 & 1 \\ \end{array} \right)
(actxbdty001)\left( \begin{array}{ccc} a & c & tx \\ b & d & ty \\ 0 & 0 & 1 \\ \end{array} \right)
(ac0txbd0ty00100001)\left( \begin{array}{cccc} a & c & 0 & tx \\ b & d & 0 & ty \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} \right)
[a b c d tx ty]

Die Werte repräsentieren die folgenden Funktionen: matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())

Beispiele

HTML

html
<div>Normal</div>
<div class="changed">Changed</div>

CSS

css
div {
  width: 80px;
  height: 80px;
  background-color: skyblue;
}

.changed {
  transform: matrix(1, 2, -1, 1, 80, 80);
  background-color: pink;
}

Ergebnis

Spezifikationen

Specification
CSS Transforms Module Level 1
# funcdef-transform-matrix

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch