CSS matrix3d() 関数

定義と使用方法

CSSの matrix3d() 関数は、16つの値を含む4x4のマトリックスを使用して三次元変換を定義します:

matrix3d() =   
a1 a2 a3 a4
b1 b2 b3 b4
c1 c2 c3 c4
d1 d2 d3 d4

インスタンス

例1

を使用して matrix3d() 別の <div> 元素に対して三次元変換を定義します:

.div1 {
  transform: matrix3d(
    0.7, 0.1, 0.7, 0
    -0.6, 0.7, 0.2, 0
    -0.5, -0.8, 0.7, 0
    10, 10, 0, 1
  );
  font-size: 30px;
  font-weight: bold;
  width: 280px;
  padding: 10px;
  background: beige;
  font-family: verdana;
  border: 1px solid green;
}

自分で試してみる

例2

を使用して matrix3d() 別の <div> 元素に対して三次元変換を作成します:

.div1 {
  font-size: 30px;
  font-weight: bold;
  width: 280px;
  height: 40px;
  padding: 10px;
  background: beige;
  font-family: verdana;
  border: 1px solid green;
  transform-style: preserve-3d;
  transition: transform 1.5s;
  transform: rotate3d(1, 1, 1, 30deg);
  margin: 50px auto;
}
.div1:hover {
.div1:focus {
  transform: rotate3d(1, 1, 1, 30deg);
  matrix3d(1, 0, 0, 0, 0, 1, 6, 0, 0, 0, 1, 0, 50, 100, 0, 1.1);
}

自分で試してみる

CSS 言法

matrix3d(a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, a4, b4, c4, d4)
説明
a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3 必須。線形変換を定義する数字。
a4 b4 c4 d4 必須。適用する変換を定義する数字。

技術的詳細

バージョン: CSS Transforms Module Level 2

ブラウザのサポート

テーブルの数字は、その機能を完全にサポートする最初のブラウザのバージョンを示しています。

クローム エッジ ファイアフォックス サファリ オペラ
12 12 10 4 15

関連ページ

参照:CSS transform 属性

参照:CSS matrix() 関数

チュートリアル:CSS 3D 変換