--- title: transform slug: Web/CSS/transform tags: - CSS - CSS プロパティ - CSS 変形 - Reference translation_of: Web/CSS/transform ---
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
このプロパティに none
以外の値が設定されていると、重ね合わせコンテキスト が作成されます。この場合、その要素はその中に含まれる position: fixed;
または position: absolute;
である要素すべての包含ブロックとして扱われます。
変形可能な要素のみが transform
の対象になります。つまり、レイアウトが CSS ボックスモデルによって管理される、非置換インラインボックス、表の列ボックス、表の列グループボックスを除くすべての要素です。
/* キーワード値 */ transform: none; /* 関数値 */ transform: matrix(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); transform: perspective(17px); transform: rotate(0.5turn); transform: rotate3d(1, 2.0, 3.0, 10deg); transform: rotateX(10deg); transform: rotateY(10deg); transform: rotateZ(10deg); transform: translate(12px, 50%); transform: translate3d(12px, 50%, 3em); transform: translateX(2em); transform: translateY(3in); transform: translateZ(2px); transform: scale(2, 0.5); transform: scale3d(2.5, 1.2, 0.3); transform: scaleX(2); transform: scaleY(0.5); transform: scaleZ(0.3); transform: skew(30deg, 20deg); transform: skewX(30deg); transform: skewY(1.07rad); /* 複数の関数値 */ transform: translateX(10px) rotate(10deg) translateY(5px); transform: perspective(500px) translate(10px, 0, 20px) rotateY(3deg); /* グローバル値 */ transform: inherit; transform: initial; transform: unset;
transform
プロパティには、キーワード値 none
か <transform-function>
の値のいずれかが指定されます。
none
{{cssxref("transform-function/perspective", "perspective()")}} を複数の関数の中で使用する場合は、最初に配置しなければなりません。
<div>Transformed element</div>
div { border: solid red; transform: translate(30px, 20px) rotate(20deg); width: 140px; height: 60px; }
{{EmbedLiveSample("Examples", "400", "160")}}
その他の例は、CSS Transforms の利用 および {{cssxref("<transform-function>")}} をご覧ください。
拡大や縮小のアニメーションは、特定の種類の偏頭痛を引き起こす原因になりやすいので、アクセシビリティの問題になることがあります。ウェブサイトにこのようなアニメーションを含める必要がある場合は、できればサイト全体で、ユーザーがアニメーションを止める制御ができるようしてください。
また、 {{cssxref("@media/prefers-reduced-motion", "prefers-reduced-motion")}} メディア特性を使用することを検討してください。これを使用してメディアクエリを書けば、ユーザーがシステムの設定でアニメーションを減らすよう指定した場合にアニメーションを止めることができます。
詳しくは以下の文書を参照してください。
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('CSS Transforms 2', '#transform-functions', 'transform')}} | {{Spec2('CSS Transforms 2')}} | 3D 変換関数を追加。 |
{{SpecName('CSS3 Transforms', '#transform-property', 'transform')}} | {{Spec2('CSS3 Transforms')}} | 初回定義 |
{{cssinfo}}
{{Compat("css.properties.transform")}}