CSS トランスフォームジェネレーター
回転、スケール、スキュー、移動を調整 — 即座に使える CSS transform コードを取得、100% ブラウザ内で完結。
コントロール
プレビュー
CSS コード
CSS transform プロパティとは?
CSS transform プロパティは、周囲のレイアウトに影響を与えずに要素を回転、スケール、スキュー、移動できます。インタラクティブでアニメーションする UI の作成に最も強力なツールの一つで、トランスフォームは GPU アクセラレーションされ、ページの再レイアウトをトリガーしません。これにより、スムーズな 60fps パフォーマンスが不可欠なホバー効果、トランジション、アニメーションに理想的です。
トランスフォームは要素の視覚レンダリングを変更しますが、元のボックスモデル位置は保持されます。他の要素はトランスフォームされた要素がまだ元の位置にあるかのように振る舞うため、コンテンツを押しのけるべきでない効果にトランスフォームが完適です。
トランスフォーム関数の解説
CSS はいくつかのトランスフォーム関数を提供します。各関数は要素変形の異なる側面を制御します。このツールは最も一般的な 2D トランスフォーム関数をサポートします:
| 関数 | 効果 |
|---|---|
| rotate(deg) | 中心を軸に時計回りに回転 |
| scale(n) | 均一に拡大縮小 |
| skewX(deg) | X 軸に沿ってスキュー |
| skewY(deg) | Y 軸に沿ってスキュー |
| translateX(px) | 水平方向に移動 |
| translateY(px) | 垂直方向に移動 |
1 つの transform 宣言で複数の関数を組み合わせられ、記述順に適用されます: transform: rotate(15deg) scale(1.2); は最初に回転し、次にスケールします。
2D と 3D トランスフォーム
CSS は 2D と 3D の両方のトランスフォームをサポートします。このツールは 2D トランスフォームに焦点を当てており、日常の UI ニーズの大部分をカバーします。3D トランスフォームは Z 軸を追加し、rotateX、rotateY、perspective、translateZ などの関数でカードフリップ効果や 3D カルーセルを実現できます。ただし、3D トランスフォームは親要素に perspective プロパティが必要で、微調整が難しい場合があります。
ほとんどのプロジェクト — ホバー効果、カードアニメーション、アイコン回転、レイアウト調整 — では 2D トランスフォームで十分であり、管理も簡単です。2D から始め、本当に深さが必要な時だけ 3D を使ってください。
CSS トランスフォームを使う場面
CSS トランスフォームはモダンウェブデザインの至る所で使われています。一般的な用途には、インタラクティブ性を示すためにホバーでアイコンを回転、触感のためにホバーでボタンやカードをわずかにスケール、動的な角度のためにバナーやヒーローセクションをスキュー、ドロップダウンメニューやツールチップをビューに移動、ページ読み込み時に要素がスライドやフェードで位置に入るエントランスアニメーションの構築があります。
トランスフォームはレイアウトに影響しないため、要素の位置とサイズをアニメーションする推奨方法です。top、left、width、height などのプロパティをアニメーションすると毎フレーム再レイアウトがトリガーされ、はるかにコストがかかります。transform と opacity は GPU 上で完全にアニメーションできる唯一の 2 つのプロパティです。
CSS トランスフォームの生成方法
このツールを使えば視覚的にトランスフォーム効果をデザインできます: 各スライダーを調整して回転、スケール、X 軸スキュー、Y 軸スキュー、X 軸移動、Y 軸移動の値を設定します。プレビューがリアルタイムで更新され、組み合わせ効果を確認でき、CSS コードが自動生成されます。「CSS をコピー」をクリックしてコードを取得し、スタイルシートに貼り付けます。
すべてブラウザ内でローカルに実行されます — データはサーバーに送信されず、デザインの選択は完全にプライベートです。
CSS で要素を回転するには?
transform: rotate(45deg); を使います。正の値で時計回り、負の値で反時計回りに回転します。
CSS transform はレイアウトに影響しますか?
いいえ。transform は視覚レンダリングのみを変更します。要素の元のボックス位置は保持され、周囲の要素は影響を受けません。
複数のトランスフォームを組み合わせられますか?
はい。スペース区切りで記述します: transform: rotate(15deg) scale(1.2) translateX(10px);。順番に適用されます。
入力はサーバーに送信されますか?
いいえ。すべての処理はローカルです。トランスフォーム設定はブラウザから離れません。