Transformaciones 2D CSS
- Página anterior Fuentes de red CSS
- Página siguiente Transformaciones 3D CSS
Transformaciones 2D CSS
CSS 转换(transforms)允许您移动、旋转、缩放和倾斜元素。
把鼠标悬停在下面的元素上,可以查看 2D 转换:
在本章中,您将学习如下 CSS 属性:
transform
浏览器支持
表格中的数字指注明了完全支持该属性的首个浏览器版本。
Atributo | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
transform | 36.0 | 10.0 | 16.0 | 9.0 | 23.0 |
Métodos de transformación 2D de CSS
通过使用 CSS transform
属性,您可以利用以下 2D 转换方法:
translate()
rotate()
scaleX()
scaleY()
scale()
skewX()
skewY()
skew()
matrix()
提示:您将在下一章中学习 3D 转换。
translate() 方法

translate()
方法从其当前位置移动元素(根据为 X 轴和 Y 轴指定的参数)。
下面的例子把 <div> 元素从其当前位置向右移动 50 个像素,并向下移动 100 个像素:
Ejemplo
div { transform: translate(50px, 100px); }
rotate() 方法

rotate()
方法根据给定的角度顺时针或逆时针旋转元素。
下面的例子把 <div> 元素顺时针旋转 20 度:
Ejemplo
div { transform: rotate(20deg); }
使用负值将逆时针旋转元素。
下面的例子把 <div> 元素逆时针旋转 20 度:
Ejemplo
div { transform: rotate(-20deg); }
scale() 方法

scale()
方法增加或减少元素的大小(根据给定的宽度和高度参数)。
下面的例子把 <div> 元素增大为其原始宽度的两倍和其原始高度的三倍:
Ejemplo
div { transform: scale(2, 3); }
下面的例子把 <div> 元素减小为其原始宽度和高度的一半:
Ejemplo
div { transform: scale(0.5, 0.5); }
scaleX() 方法
scaleX()
方法增加或减少元素的宽度。
下面的例子把 <div> 元素增大为其原始宽度的两倍:
Ejemplo
div { transform: scaleX(2); }
以下例子把 <div> 元素缩减为其原始宽度的一半:
Ejemplo
div { transform: scaleX(0.5); }
Método scaleY()
scaleY()
El método aumenta o reduce la altura del elemento.
El siguiente ejemplo hace que el elemento <div> se aumente a tres veces su altura original:
Ejemplo
div { transform: scaleY(3); }
El siguiente ejemplo hace que el elemento <div> se reduzca a la mitad de su altura original:
Ejemplo
div { transform: scaleY(0.5); }
Método skewX()
skewX()
El método hace que el elemento se incline en un ángulo dado a lo largo del eje X.
El siguiente ejemplo hace que el elemento <div> se incline 20 grados a lo largo del eje X:
Ejemplo
div { transform: skewX(20deg); }
Método skewY()
skewY()
El método hace que el elemento se incline en un ángulo dado a lo largo del eje Y.
El siguiente ejemplo hace que el elemento <div> se incline 20 grados a lo largo del eje Y:
Ejemplo
div { transform: skewY(20deg); }
Método skew()
skew()
El método hace que el elemento se incline en un ángulo dado a lo largo del eje X e Y.
El siguiente ejemplo hace que el elemento <div> se incline 20 grados a lo largo del eje X y 10 grados a lo largo del eje Y:
Ejemplo
div { transform: skew(20deg, 10deg); }
Si no se especifica el segundo parámetro, su valor es cero. Por lo tanto, el siguiente ejemplo hace que el elemento <div> se incline 20 grados a lo largo del eje X:
Ejemplo
div { transform: skew(20deg); }
Método matrix()

matrix()
El método combina todos los métodos de transformación 2D en uno.
matrix()
El método puede aceptar seis parámetros, incluyendo funciones matemáticas, que le permiten girar, escalar, mover (translación) y inclinar el elemento.
Los parámetros son los siguientes: matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())
Ejemplo
div { transform: matrix(1, -0.3, 0, 1, 0, 0); }
Atributos de transformación CSS
La siguiente tabla enumera todos los atributos de transformación 2D:
Atributo | Descripción |
---|---|
transform | Aplicar una transformación 2D o 3D al elemento. |
transform-origin | Permite cambiar la posición del elemento que se transformará. |
Métodos de transformación 2D de CSS
Función | Descripción |
---|---|
matrix(n,n,n,n,n,n) | Definición de la transformación 2D, utilizando una matriz de seis valores. |
translate(x,y) | Definición de la transformación 2D, desplazamiento del elemento a lo largo de los ejes X e Y. |
translateX(n) | Definición de la transformación 2D, desplazamiento del elemento a lo largo del eje X. |
translateY(n) | Definición de la transformación 2D, desplazamiento del elemento a lo largo del eje Y. |
scale(x,y) | Definir la transición de escalado 2D, cambiando el ancho y la altura del elemento. |
scaleX(n) | Definir la transición de escalado 2D, cambiando el ancho del elemento. |
scaleY(n) | Definir la transición de escalado 2D, cambiando la altura del elemento. |
rotate(ángulo) | Definir la rotación 2D, especificando el ángulo en los parámetros. |
skew(ángulo-x,ángulo-y) | Definir la transición de inclinación 2D, a lo largo de los ejes X e Y. |
skewX(ángulo) | Definir la transición de inclinación 2D, a lo largo del eje X. |
skewY(ángulo) | Definir la transición de inclinación 2D, a lo largo del eje Y. |
- Página anterior Fuentes de red CSS
- Página siguiente Transformaciones 3D CSS