--- title: matrix() slug: Web/CSS/transform-function/matrix() translation_of: Web/CSS/transform-function/matrix() ---
{{CSSRef}}

A função CSS matrix() define uma matriz de transformação 2D homogênea. Isso resulta em um dado do tipo {{cssxref("<transform-function>")}} .

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

Syntax

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.

Note: Until Firefox 16, Gecko accepted a {{cssxref("<length>")}} value for tx and ty.
matrix(a, b, c, d, tx, ty)

Values

a b c d
Are {{cssxref("<number>")}}s describing the linear transformation.
tx ty
Are {{cssxref("<number>")}}s describing the translation to apply.
Cartesian coordinates on ℝ2 Homogeneous coordinates on ℝℙ2 Cartesian coordinates on ℝ3 Homogeneous coordinates on ℝℙ3
ac bd actxbdty001 actxbdty001 ac0txbd0ty00100001
[a b c d tx ty]

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

Examples

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

Result

{{EmbedLiveSample("Examples", 350, 350)}}

Specifications

Specification Status Comment
{{SpecName("CSS3 Transforms", "#funcdef-transform-matrix", "matrix()")}} {{Spec2("CSS3 Transforms")}} Initial definition

Compatibilidade com navegadores

Please see the <transform-function> data type for compatibility info.

See also