transform プロパティは、要素の視覚的な「形状」と「位置」を、ドキュメントのレイアウトフローに影響を与えることなく変換するためのプロパティです。
2D変換と3D変換の両方をサポートし、以下の変換関数を組み合わせて使います。
【2D変換関数】
・translate(x, y) / translateX() / translateY():移動
・scale(x, y) / scaleX() / scaleY():拡縮
・rotate(angle):回転
・skew(x, y) / skewX() / skewY():傾斜
・matrix(a,b,c,d,e,f):上記すべてを1つの行列で表現
【3D変換関数】
・translate3d(x,y,z) / translateZ():3D移動
・scale3d() / scaleZ():3D拡縮
・rotate3d(x,y,z,angle) / rotateX() / rotateY() / rotateZ():3D回転
・perspective():遠近感の設定
transform が CSS の中でも特別な存在である理由は「GPU アクセラレーション」にあります。transform と opacity による変化は、ブラウザのコンポジットレイヤーで処理されるため、CPUによるレイアウト再計算(reflow / repaint)が発生しません。これが、transform を animation / transition と組み合わせることで60fps の滑らかなアニメーションが実現できる根拠です。