translate3d()

translate3d()CSS関数で、要素を三次元空間内で再配置します。返値は <transform-function> データ型です。

試してみましょう

この変換は三次元ベクトルであることが特徴です。座標は要素がそれぞれの方向にどれだけ移動するかを定義します。

構文

css

translate3d(tx, ty, tz)

tx

変換ベクトルの横座標を表す <length> または <percentage> です。

ty

変換ベクトルの縦座標を表す <length> または <percentage> です。

tz

変換ベクトルの z 成分を表す <length> です。 <percentage> 値は指定できません。この場合、これを含む座標変換は無効とされます。

ℝ^2 のデカルト座標 ℝℙ^2 の同次座標 ℝ^3 のデカルト座標 ℝℙ^3 の同次座標

ℝ^2 では線形変換ではないので、デカルト座標の行列で表すことはできない。

ℝ^3 では線形変換ではないので、デカルト座標の行列で表すことはできない。 1 0 0 tx 0 1 0 ty 0 0 1 tz 0 0 0 1

単一軸の座標変換の使用

HTML

html

<div>Static</div>
<div class="moved">Moved</div>
<div>Static</div>

CSS

css

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

.moved {
  /* Equivalent to perspective(500px) translateX(10px) */
  transform: perspective(500px) translate3d(10px, 0, 0px);
  background-color: pink;
}

結果

z 軸と x 軸を組み合わせた座標変換

HTML

html

<div>Static</div>
<div class="moved">Moved</div>
<div>Static</div>

CSS

css

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

.moved {
  transform: perspective(500px) translate3d(10px, 0, 100px);
  background-color: pink;
}

結果

仕様書

Specification
CSS Transforms Module Level 2
# funcdef-translate3d

ブラウザーの互換性

BCD tables only load in the browser

関連情報