[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/transform-function/matrix [Back]  [Original]

matrix() CSS function - CSS | MDN

matrix() CSS function

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since July 2015.

The matrix() CSS function defines a homogeneous 2D transformation matrix. Its result is a <transform-function> data type.

Note: The matrix(a, b, c, d, tx, ty) function is a shorthand for matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1).

In this article

Try it

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>

Syntax

css
matrix(a, b, c, d, tx, ty)

Values

The matrix() function is specified with six values. The constant values are implied and not passed as parameters; the other parameters are described in the column-major order.

a b c d

Are <number>s describing the linear transformation.

tx ty

Are <number>s describing the translation to apply.

Cartesian coordinates on ^2 Homogeneous coordinates on ^2 Cartesian coordinates on ^3 Homogeneous coordinates on ^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]

The values represent the following functions: matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY()).

Formal syntax

<matrix()> = 
matrix( <number>#{6} )
This syntax reflects the latest standard as per CSS Transforms Module Level 1. Not all browsers may have implemented every part. See Browser compatibility for support information.

Examples

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

Result

Specifications

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

Browser compatibility

See also


Web Proxy Viewer  |  New URL  |  Original Page