CSStranslate() 関数は、要素を水平方向や垂直方向で再配置します。結果は <transform-function> データ型になります。

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

構文

translate() 関数は一つまたは二つの値で指定します。

translate(tx)

translate(tx, ty)

tx
<length> で、変換ベクトルの横座標 (X 座標) を表します。
ty
<length> で、変換ベクトルの縦座標 (または Y 座標) を表します。指定されなかった場合は、既定値は 0 です。例えば、 translate(2)translate(2, 0) と等価です。
2 のデカルト座標 ℝℙ2 の同次座標 3 のデカルト座標 ℝℙ3 の同次座標

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

10tx01ty001 10tx01ty001 100tx010ty00100001
[1 0 0 1 tx ty]

単一軸を使用した変形

HTML

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

CSS

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

.moved {
  transform: translate(10px); /* translateX(10px) と同じ */
  background-color: pink;
}

結果

y 軸と x 軸を組み合わせた変形

HTML

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

CSS

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

.moved {
  transform: translate(10px, 10px);
  background-color: pink;
}

結果

仕様書

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

ブラウザーの対応

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

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09
最終更新者: mfuji09,