ホーム トランスフォームジェネレーター

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 軸を追加し、rotateXrotateYperspectivetranslateZ などの関数でカードフリップ効果や 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);。順番に適用されます。

入力はサーバーに送信されますか?

いいえ。すべての処理はローカルです。トランスフォーム設定はブラウザから離れません。