Además de translate, existen otras funciones que permiten transformar el elemento HTML para iniciar una animación.
Rotate para transformaciones
Rotate es una función de la propiedad transform que te permite rotar un elemento HTML a través de los ejes del navegador. El valor que recibe es un ángulo, por ejemplo, “45deg” (45 grados) o “2rad” (2 radianes). Los ángulos positivos están en sentido horario, y los negativos en sentido antihorario.
selector {
transform: rotate(45deg);
}
Dependiendo del eje en el que rotes el elemento, existe una función.
Scale es una función de la propiedad transform que te permite escalar un elemento HTML a través de sus ejes. El valor que recibe es un número multiplicador al elemento original.
Si el elemento es igual a 1 entonces sigue como el original; mayor a 1 aumenta de tamaño; y, menor a 1 disminuye de tamaño.
selector {
transform: scale(0.8);
}
Dependiendo del eje en el que escales el elemento, existe una función.
Skew es una función de la propiedad transform que te permite torcer un elemento HTML a través de sus ejes en dos dimensiones. El valor que recibe es un ángulo para cada eje en el que el elemento se distorsionará.
selector {
transform: skew(45deg, 45deg);
}
Dependiendo del eje en el que tuerzas el elemento, existe una función.
Solamente puede existir una sola propiedad transform en el código de CSS, por lo que si escribimos otra regla CSS con otra transformación, esta se sobreescribirá y solo ejecutará la última. Por ende, utiliza varias funciones en la misma propiedad transform para realizar varias transformaciones.
Les dejo este gif que les ayuda a visualizar mejor estos conceptos :3
Rotate: Te ayuda a girar un elemento, puedes rotarlo en los ejes X, Y o Z.
Scale: Te ayuda a cambiar el tamañode un elemento, básicamente puedes agrandarlo o achicarlo.
Skew: Te ayuda a deformar un elemento tanto en X como en Y, esta propiedad es muy útil cando queires dar un efecto 3D.
Matrix: Esta es una propiedad un poquito máscompleja. Te permite escalar, deformar y mover tu elemento a través de diferentes propiedades, recomiendo darle un ojo a la documentación de esta propiedad para entenderla mejor 😄.
Escalado (scale()): Estas hace como una transformación en la que aumentan o reducen el tamaño de un elemento, y se basan en el parámetro indicado, que es solo un factor de escala. Rotaciones(rotate): Se podría decir que las funciones de rotación simplemente giran el elemento el número de grados indicado.
Ejemplo: Con transform: rotate(5deg) realizamos una rotación de 5 grados del elemento sobre si mismo. Deformaciones(skew): Establecen un ángulo para torcer, tumbar o inclinar un elemento en 2D.
Cree un repositorio para hacer un mini resumen de las clases o implementas ahí algunos de los ejemplos vistos en clase. Lo dejo si quieren darse una vuelta: aqui
Hay un pequeño error aquí respecto al valor por defecto de rotate().
El eje que rota por defecto es el eje Z, pero como el eje Z está a la dirección de nuestra vista nos da esa alusión.
Un valor Y positivo ¿hacia dónde va? . Para mi es hacia arriba, pero al hacer el examen me conto la respuesta como error y me trajo hasta acá, donde no habla sobre ejes ni los movimientos de estos (?) en fin. He consultado y siempre me dicen lo mismo: Va hacia Arriba. ALguione me explica si estoy equivocada?
Rotate: Te ayuda a girar un elemento, puedes rotarlo en los ejes X, Y o Z.
Scale: Te ayuda a cambiar el tamañode un elemento, básicamente puedes agrandarlo o achicarlo.
Skew: Te ayuda a deformar un elemento tanto en X como en Y, esta propiedad es muy útil cando queires dar un efecto 3D.
Matrix: Esta es una propiedad un poquito máscompleja. Te permite escalar, deformar y mover tu elemento a través de diferentes propiedades, recomiendo darle un ojo a la documentación de esta propiedad para entenderla mejor 😄.
Transform puede recibir varios valores, como rotación, traslación, etc. No se puede colocar una propiedad transform debajo de otra ya que se sobrescriben, lo que se hace es que se coloca un valor alado del otro.
Además de translate, hay varias otras propiedades de transformación en CSS:
transform: rotate(angle) permite rotar un elemento en un ángulo específico. El valor angle puede ser especificado en grados, radianes o turnos. Por ejemplo:
css
.element {
transform: rotate(45deg);
}
transform: scale(x, y) permite escalar un elemento en el plano x-y. Los valores x y y especifican el factor de escala en cada dirección. Por ejemplo:
css
.element {
transform: scale(2, 0.5);
}
transform: skew(x, y) permite inclinar un elemento en el plano x-y. Los valores x y y especifican el ángulo de inclinación en cada dirección. Por ejemplo:
css
.element {
transform: skew(30deg, 10deg);
}
transform: matrix(a, b, c, d, e, f) permite combinar varias transformaciones en una sola propiedad. La matriz se compone de 6 valores que representan una matriz 3x3. Por ejemplo:
css
La función skew() fue presentada en los primeros borradores. Esta ha sido removida pero sigue presente en algunas implementaciones. No debe usarse.
Para lograr el mismo efecto, utilice la función skewX(). Si tu estas usando skew () con un parámetro o matriz (1, tan (ay), tan (ax), 1, 0, 0). Ten en cuenta que tan() no es una función CSS y así que tu mismo tienes que precalcular tus valores.
Buenas chicos, para practicar este ejemplo se me ocurrió esta idea. Los malos hábitos te hacen mas pequeño. Al hacer hover en los “buenos hábitos”, el div crece.
porfin pude crear mi primer gif 😕
Lo hice con un programa de gravación de linux y un transformador a gif web. Como mis videos no los leía el coso entonces lo coloque a en notion y luego lo descargé se le cambiaba el formato, por si un día un video les da problema
Faltó el de matrix que sirve para combinar scale, skew y translate. matrix() recibe 6 valores que son matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() )
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?