Cómo usar transiciones y transform en CSS

Otra buena forma de agregar efectos visuales con CSS es usar transiciones. Nos ayudan a transformar propiedades de CSS de un valor a otro de manera suave, con una duración determinada entre ambos estados.
Las dos propiedades clave para lograrlo son:
transition-property: define a qué propiedad queremos aplicar la transición, por ejemplowidth,heightoborder.
La propiedad transition-property permite combinar más de una propiedad:
transition-property: width, heighttransition-duration: define el tiempo que toma el cambio entre ellas.
transition-duration: 0.6s, En mi ejemplo muestro dos cajas: una tiene transiciones y cambia sus propiedades suavemente al pasar el cursor (hover), mientras que la otra cambia de golpe.
También podemos agregar dos parámetros opcionales: transition-delay, que define el tiempo de espera antes de comenzar, y transition-timing-function, que define la velocidad desde el inicio hasta el final (por ejemplo, hacer que la animación espere 2 segundos antes de iniciar).
Por defecto su valor es ease, pero puedes configurar otros tipos como ease-in (que tiene un inicio lento) o linear (que mantiene la misma velocidad de principio a fin).
transform
La propiedad transform nos ayuda a cambiar la posición, el tamaño y la forma de los elementos, y podemos combinarla con transition para lograr efectos muy llamativos.
transform acepta diferentes funciones como translate, rotate o scale.
Al igual que con otras propiedades de CSS como width y height, podemos aplicar transiciones sobre transform para lograr cambios fluidos:
Mi primer ejemplo utiliza transform con rotate: al pasar el cursor sobre el elemento (hover), este rotará 65 grados.
main:hover {
transform: rotate(65deg);
border: 8px solid red;
background-color: yellow;
}transform también acepta otras opciones:
translate(x, y): mueve elementos usando las coordenadas X e Y.rotate: rota el elemento indicando grados (deg), por ejemplorotateY(180deg)orotateX(180deg).scale: escala el tamaño de un elemento entre X e Y.
Y podemos usarlas todas juntas en una sola regla:
transform: scale(4) translate(50px, 50px) rotate(90deg);Si quieres leer más sobre transform, puedes consultar la lista completa en MDN.
¡Eso es todo!
Espero que este artículo te sirva de ayuda para comenzar con transiciones y transform en CSS. Si te gustó este post, ¡compártelo!
Modern frontend development — Angular, React, TypeScript, accessibility, and performance.
Artículos Relacionados
Cómo usar las funciones HSL y calc en CSS para crear colores claros y oscuros
Sass incluye mixins como darken y lighten para oscurecer o aclarar colores, pero ¿cómo podemos lograr esto sin un preprocesador y solo con CSS nativo? Aprende a usar las funciones hsl() y calc() para generar variantes claras y oscuras de tus colores.
Cómo usar pseudoelementos de CSS
A veces necesitamos dar estilo a una parte específica de un elemento HTML, como la primera letra de un h1 o agregar contenido antes o después. Mi primera opción solía ser JavaScript, pero CSS nos ofrece una mejor solución usando pseudoelementos.
Compartir este artículo
Si esta guía te resultó útil, compártela con tu equipo o con otros desarrolladores.
Software real. Lecciones reales.
Comparto las lecciones que aprendí por las malas, para que puedas evitarlas o estar preparado cuando ocurran.
Únete a 13,800+ desarrolladores y lectores.
Cero spam. Cancela tu suscripción en cualquier momento.