CSS3 は、3D 変形を使用して、要素のフォーマットを可能にします。
下の要素の上にマウスを乗せ、2D 変換と3D 変換の違いを見てください:
表中の数字は、完全にプロパティをサポートした最初のブラウザのバージョンです。
数字の後に続く -webkit-、-moz- または -o- は、接頭辞付きで動作した最初のバージョンです。
| プロパティ | |||||
|---|---|---|---|---|---|
| transform | 36.0 12.0 -webkit- |
10.0 | 16.0 10.0 -moz- |
4.0 -webkit- | 23.0 15.0 -webkit- |
| transform-origin (three-value syntax) |
36.0 12.0 -webkit- |
10.0 | 16.0 10.0 -moz- |
4.0 -webkit- | 23.0 15.0 -webkit- |
| transform-style | 36.0 12.0 -webkit- |
11.0 | 16.0 10.0 -moz- |
4.0 -webkit- | 23.0 15.0 -webkit- |
| perspective | 36.0 12.0 -webkit- |
10.0 | 16.0 10.0 -moz- |
4.0 -webkit- | 23.0 15.0 -webkit- |
| perspective-origin | 36.0 12.0 -webkit- |
10.0 | 16.0 10.0 -moz- |
4.0 -webkit- | 23.0 15.0 -webkit- |
| backface-visibility | 36.0 12.0 -webkit- |
10.0 | 16.0 10.0 -moz- |
4.0 -webkit- | 23.0 15.0 -webkit- |
この章では、下記 3D 変形メソッドを学習します:
rotateX()rotateY()rotateZ()
rotateX() メソッドは、X 軸の周りを指定の角度に要素を回転します:
div
{
-webkit-transform: rotateX(150deg); /* Safari */
transform: rotateX(150deg);
}
Try it Yourself ❯

rotateY() メソッドは、Y 軸の周りを指定の角度に要素を回転します:
div
{
-webkit-transform: rotateY(130deg); /* Safari */
transform: rotateY(130deg);
}
Try it Yourself ❯
rotateZ() メソッドは、Z 軸の周りを指定の角度に要素を回転します:
div
{
-webkit-transform: rotateZ(90deg); /* Safari */
transform: rotateZ(90deg);
}
Try it Yourself ❯
Exercise 1 ❯ Exercise 2 ❯ Exercise 3 ❯
次の表は、全 3D transform プロパティの一覧です:
| プロパティ | 説明 |
|---|---|
| transform | 要素へ 2D または 3D 変形を適用する |
| transform-origin | 変形した要素の位置変更を可能にする |
| transform-style | ネストした要素を、3D 空間にどのようにレンダリングするかを指定する |
| perspective | 3D 要素をどう表示するか遠近効果を指定する |
| perspective-origin | 3D 要素の底辺の位置を指定する |
| backface-visibility | スクリーンに面していない時に、要素を表示するかどうかを定義する |
| 関数 | 説明 |
|---|---|
| matrix3d (n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) |
16 の値を持つ 4x4 の行列を使用して 3D 変形を定義する |
| translate3d(x,y,z) | 3D translation を定義する |
| translateX(x) | X 軸への値だけを使用し 3D translation を定義する |
| translateY(y) | Y 軸への値だけを使用し 3D translation を定義する |
| translateZ(z) | Z 軸への値だけを使用し 3D translation を定義する |
| scale3d(x,y,z) | 3D 拡大・縮小(3D scale transformation)を定義する |
| scaleX(x) | X 軸の値を指定して 3D 拡大・縮小(3D scale transformation)を定義する |
| scaleY(y) | Y 軸の値を指定して 3D 拡大・縮小(3D scale transformation)を定義する |
| scaleZ(z) | Z 軸の値を指定して 3D 拡大・縮小(3D scale transformation)を定義する |
| rotate3d(x,y,z,angle) | D 回転(3D rotation)を定義する |
| rotateX(angle) | X 軸方向に 3D 回転(3D rotation)を定義する |
| rotateY(angle) | Y 軸方向に 3D 回転(3D rotation)を定義する |
| rotateZ(angle) | Z 軸方向に 3D 回転(3D rotation)を定義する |
| perspective(n) | 3D 変形要素へ遠近表示を定義する |