matrix()

CSSmatrix() 関数は、二次元同次変換行列を定義します。結果は <transform-function> データ型になります。

メモ: matrix(a, b, c, d, tx, ty)matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1) の短縮形です。

構文

matrix() 関数は6つの値で指定されます。定数は内蔵されていて引数としては渡されず、その他の引数は列優先の順で記述されます。

メモ: Firefox 16 までは、 Gecko は <length> 値を tx および ty で受け付けていました。
matrix(a, b, c, d, tx, ty)

a b c d
<number> で、線形変換を記述します。
tx ty
<number> で、適用する変換を記述します。
2 のデカルト座標 ℝℙ2 の同次座標 3 のデカルト座標 ℝℙ3 の同次座標
ac bd actxbdty001 actxbdty001 ac0txbd0ty00100001
[a b c d tx ty]

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

結果

仕様書

仕様書 状態 備考
CSS Transforms Level 1
matrix() の定義
草案 初回定義

ブラウザーの対応

<transform-function> データ型の互換性情報をご覧ください。

関連情報