translate
は CSS のプロパティで、平行移動による変形を独自に、 transform
プロパティから独立して指定することができます。これは一般的なユーザーインターフェイスの用途に適しており、 transform
の値で指定する変形関数を正確に思い出す必要がなくなります。
構文
/* キーワード値 */
translate: none;
/* 単一の値 */
translate: 100px;
translate: 50%;
/* 二つの値 */
translate: 100px 200px;
translate: 50% 105px;
/* 三つの値 */
translate: 50% 105px 5rem;
値
- 単一の
<length-percentage>
値 - 単一の
<length>
または<percentage>
値で、 X 軸および Y 軸方向が同じ移動量の二次元の平行移動を指定します。translate()
(二次元の平行移動) 関数に単一の値を指定したものと同等です。 - 二つの
<length-percentage>
値 - 二つの
<length>
または<percentage>
値で、二次元の平行移動における X および Y 軸方向の移動量を (それぞれ) 指定します。translate()
(二次元の平行移動) 関数に二つの値を指定したものと同等です。 - 三つの値
- 二つの
<length-percentage>
値と一つの<length>
値で、三次元の平行移動における X, Y, Z 軸の移動量を (それぞれ) 指定します。translate3d()
(三次元の平行移動) 関数と同等です。 none
- 平行移動が適用されないことを指定します。
形式文法
none | <length-percentage> [ <length-percentage> <length>? ]?where
<length-percentage> = <length> | <percentage>
例
HTML
<div>
<p class="translate">Translation</p>
</div>
CSS
* {
box-sizing: border-box;
}
html {
font-family: sans-serif;
}
div {
width: 150px;
margin: 0 auto;
}
p {
padding: 10px 5px;
border: 3px solid black;
border-radius: 20px;
width: 150px;
font-size: 1.2rem;
text-align: center;
}
.translate {
transition: translate 1s;
}
div:hover .translate {
translate: 200px 50px;
}
結果
仕様書
仕様書 | 状態 | 備考 |
---|---|---|
CSS Transforms Level 2 individual transforms の定義 |
編集者草案 | 初回定義 |
初期値 | none |
---|---|
適用対象 | 変形可能要素 |
継承 | なし |
パーセンテージ | bounding box のサイズ |
計算値 | 指定通り。ただし相対的 length は絶対的 length に変換 |
アニメーションの種類 | transform |
重ね合わせコンテキストの生成 | あり |
ブラウザーの対応
BCD tables only load in the browser
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。