--- title: transform slug: Web/CSS/transform tags: - CSS - CSS Property - NeedsBrowserCompatibility - Reference - Transforms translation_of: Web/CSS/transform ---
transform
CSS 屬性可以讓你修改 CSS 可視化格式模型(visual formatting model)的空間維度。使用此屬性,元素可以被平移、旋轉、縮放和傾斜。
如果這個屬性的值不是 none
,將會建立一個 stacking context。在這個情況下,此元素將被其所包含的 position: fixed
元素當成一個 containing block。
只有可以變形的元素可以被變形,這包括所有被CSS box model掌管輸出的元素,除了視覺格式化模型, table-column boxes 和 table-colunm-group boxes。
/* Keyword values */ transform: none; /* Function values */ 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); /* Multiple function values */ transform: translateX(10px) rotate(10deg) translateY(5px); transform: perspective(500px) translate(10px, 0, 20px) rotateY(3deg); /* Global values */ transform: inherit; transform: initial; transform: unset;
transform
屬性可能被指定為關鍵字值 none
或著一或多個 <transform-function>
值。
none
改變尺寸和伸縮的動畫會影響網頁普遍的可使用性,因為它們可能促發一些頭痛的問題。如果你想要在網頁中提供這樣的功能,最好在網頁中放上給使用者關閉這些功能的控制開關。
另外也可考慮使用{{cssxref("@media/prefers-reduced-motion", "prefers-reduced-motion")}} 這個媒體功能來寫一個在系統設定端的媒體詢問,讓使用者在減少了動畫偏好之後可以關閉該使用者網頁的動畫功能。
瞭解更多:
{{CSSInfo}}
<p>Transformed element</p>
p { border: solid red; transform: translate(100px) rotate(20deg); transform-origin: 0 -250px; }
{{EmbedLiveSample("Translating_and_rotating_an_element", "400", "160")}}
請參考使用 CSS transforms 以及 {{cssxref("<transform-function>")}} 的更多範例。
Specification | Status | Comment |
---|---|---|
{{SpecName('CSS Transforms 2', '#transform-functions', 'transform')}} | {{Spec2('CSS Transforms 2')}} | Adds 3D transform functions. |
{{SpecName('CSS3 Transforms', '#transform-property', 'transform')}} | {{Spec2('CSS3 Transforms')}} | Initial definition. |
{{cssinfo}}
{{Compat("css.properties.transform")}}