translate()
translate()
は CSS の関数は、要素を水平方向や垂直方向で再配置します。結果は <transform-function>
データ型になります。
この変換は、二次元ベクトルであることが特徴です。それぞれの方向にどれだけ要素が動くかの座標を定義します。
構文
/* 単一の <length-percentage> 値 */
transform: translate(200px);
transform: translate(50%);
/* 二つの <length-percentage> 値 */
transform: translate(100px, 200px);
transform: translate(100px, 50%);
transform: translate(30%, 200px);
transform: translate(30%, 50%);
値
- 単一の
<length-percentage>
values - この値は
<length>
または<percentage>
で、変換ベクトルの横軸 (水平方向、X 座標) を表します。変換ベクトルの縦軸 (垂直方向、Y 座標) は0
に設定されます。例えば、translate(2)
はtranslate(2, 0)
と等価です。パーセント値の場合は、transform-box
で定義される参照ボックスの幅からの相対値です。 - 二つの
<length-percentage>
値 - この値は2つの
<length>
または<percentage>
値で、変換ベクトルの横軸 (水平方向、X 座標) と縦軸 (垂直方向、Y 座標) を表します。1つ目にパーセント値が使用された場合は、transform-box
で定義された参照ボックスの幅からの相対値で、2つ目にパーセント値が使用された場合は、高さからの相対値です。
ℝ2 のデカルト座標 | ℝℙ2 の同次座標 | ℝ3 のデカルト座標 | ℝℙ3 の同次座標 |
---|---|---|---|
ℝ2 では線形変換ではないので、デカルト座標の行列で表すことはできない。 |
|||
[1 0 0 1 tx ty] |
形式文法
translate(<length-percentage>
,<length-percentage>
?)
例
単一軸を使用した変形
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) または translate(10px, 0) と同じ */
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>
データ型の互換性情報をご覧ください。