Unlimited Wordpress themes, plugins, graphics & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Web Design
  2. Animation
Webdesign

El estado de la animación CSS

by
Difficulty:IntermediateLength:ShortLanguages:

Spanish (Español) translation by CYC (you can also view the original English article)

CSS ha madurado de muchas maneras a lo largo de los años, no menos en términos de animaciones CSS. Con cada día que pasa más y más desarrolladores están creando vida, las interfaces de respiración. En este artículo vamos a ver el estado de las animaciones CSS, cómo han crecido, lo que son capaz de hacer hoy por hoy, y cubriremos algunos recursos y herramientas disponibles. ¡Pongámonos en marcha!

Crecimiento

El uso de la animación en la web está aumentando, en gran parte debido a la transition y @keyframes adicionales al CSS. Hubo una vez un momento en que las animaciones y CSS no se conocían, pero hoy ese no es el caso. Artículos, tutoriales, cursos superiores e incluso directrices de movimiento son mucho más accesibles ahora de lo que eran antes. Combinando @keyframes con la propiedad animation, junto con transition finalmente ha dado a los desarrolladores la oportunidad de diseñar el movimiento correctamente y presta personalidad a las interfaces y la vida que alguna vez no fue considerada.

Part of Googles Material Motion Guidelines
Material de Google de las directrices del movimiento 

¡Nunca ha habido un momento más emocionante para las animaciones CSS y el diseño de interacción como ahora mismo!

Propiedad de animación y fotogramas clave

La implementación actual de la propiedad animation permite a los desarrolladores controlar la duración, tiempo, retardo, cuenta de interacciones, dirección, modo de relleno y estado de reproducción. La parte de temporizador también permite una función steps(). Esta función especial del temporizador rompe una animación o transición en segmentos (como una tira de película), en lugar de una transición continua de un estado a otro. Los fotogramas clave permiten a los desarrolladores de movimientos declarar las posiciones usando from, to e incluso porcentajes para animar entre los valores de propiedad declarados. Ese es un gran comienzo, pero vamos a discutir en un momento en qué se queda corto.

Propiedad transición

Luego está la gloriosa propiedad transition; una propiedad tan sofisticada como animation y una que nos permite controlar la velocidad de la animación al cambiar propiedades. El proceso de transición entre dos estados es típicamente llamado transición implícita; un término que describe los estados entre los estados inicial y final, definidos implícitamente por el navegador. Las transiciones actualmente permiten la personalización de la propiedad, el tiempo, la duración y el retraso.

El video de la introducción es tomado de En marcha con las transiciones CSS por Craig Campbell.

¿Qué le falta?

La animación CSS puede ser potente como se siente, pero todavía carece de un aspecto particular que los animadores desean más; control de tiempo. Lo que quiero decir es que con esto, las secuencias pueden ser influenciadas y manipuladas en base al tiempo.

La sintaxis anterior no existe, pero dibuja una imagen con más detalle de lo que anhelan los expertos en animación web. GreenSock por ejemplo, es bien conocido por este tipo de secuenciación, pero lamentablemente sólo ocurre en JavaScript. ¿No sería genial tener esto en CSS también? Creo que si.

Video tomado de la Plataforma de Animación de GreenSock: Primeros pasos por Craig Campbell.

Ciertamente, existe la posibilidad de controlar eventos de animation y transition mediante el uso de JavaScript para un control granular adicional de una secuencia. Con JavaScript, los desarrolladores pueden detectar el inicio de cada nueva interacción de animación; cuando inicia y cuando se termina la animación, y lo mismo ocurre con los eventos de transición.

Inspección del navegador y herramientas

Estos son tiempos bastante emocionantes para las herramientas de desarrollador del navegador con el fin de inspeccionar y ajustar las animaciones CSS. La mayoría de los navegadores (Firefox, Chrome) permiten la inspección de animaciones CSS. Con respecto a Safari y Edge, me ha dicho una fuente que trabaja para Microsoft que la inspección de animaciones es algo que el equipo de Microsoft realmente quiere hacer. Esperemos que suceda lo mismo para Safari.


Con respecto a los navegadores que son compatibles con la inspección de animación contamos con las siguientes habilidades...

  • Inspección de la línea de tiempo que se puede limpiar.
  • Mostrar animaciones aplicadas a los pseudo-elementos :: before y ::after.
  • Ajustar la propiedad keyframes y los valores sobre el avance.
  • Reporte de nombres keyframes.
  • Visualización de propiedades animadas.
  • Facilitar los recolectores y los editores de la curva bézier.
  • Codificación de color para saber si el evento es una transición, un fotograma clave o una animación web.
  • Control y cambio de la velocidad de reproducción.

Mientras los desarrolladores tienen mucho que elegir basados en la lista anterior, todavía requieren de más herramientas en animaciones con respecto a la interacción del usuario. Esto también podría ser conocido como propiedad de interpolación, la inserción de un valor intermedio en una serie calculándolo a partir de valores conocidos circundantes; al igual que cuando cambia a un nuevo valor con transiciones. Estas animaciones dinámicas / reactivas pueden comenzar en cualquier momento, son indefinidas y tienen duraciones variables basadas en la interacción del usuario. Algo una vez más que no se puede depurar o inspeccionar desde cualquier herramienta de desarrollo proporcionada por un navegador en este momento.

El futuro

El futuro parece brillante para la animación CSS, a través de todo lo relacionado con las especificaciones tiende a moverse lento. El módulo motion-path (trazado de movimiento) CSS, contain, will-change y la consulta de medios de movimiento prefers-reduced-motion (todavía no son un estándar y WebKit solamente) son las características actuales para animadores de CSS.

Trazado de movimiento CSS

La trayectoria de movimiento permite a los desarrolladores animar cualquier objeto gráfico a lo largo de una ruta especificada por el autor. Se puede definir una ruta de una manera muy similar a la definida por SVG 1.1.

La trayectoria de movimiento motion-path define el camino que un elemento seguirá o moverá. Nuestra propiedad desplazamiento de movimiento motion-offset es la colocación del elemento en algún lugar del camino. La propiedad movimiento-rotación motion-rotation es la dirección en la que el elemento "se enfrenta" a medida que se mueve a lo largo del camino.

Echa un vistazo a estas colecciones de demostraciones en CodePen de Dan Wilson que proporcionan ejemplos en vivo en donde muestran las capacidades de motion-path.

Will-Change

La propiedad will-change proporciona una manera para que los autores sugieran a los navegadores el tipo de cambios que se esperan para un elemento. Esto permite al navegador configurar oportunamente las optimizaciones adecuadas antes de que el elemento se cambie realmente.

Este tipo de optimización puede mejorar el tiempo de carga percibido y el diseño de una página completando un trabajo arduo antes de tiempo y antes de que realmente se requiera. Diciendo esto, se sugiere que los desarrolladores no apliquen will-change a demasiados elementos, ya que puede consumir recursos y hacer que la página se ralentice.

Prefers-Reduced-Motion

Esta adición no especificada a WebKit crea estilos que evitan grandes áreas de movimiento para los usuarios que especifican una preferencia por el movimiento reducido en las Preferencias del sistema.

Esto es más una situación de accesibilidad frente a la creación de movimiento real. Algo interesante a considerar, sin embargo, echa un vistazo en tu tiempo libre.

Contain

Este módulo CSS indica que el sub-árbol del elemento es independiente del resto de la página, lo que permite optimizaciones pesadas por agentes de usuario cuando se usan correctamente. El más interesante para los animadores CSS es el valor de pintura paint que se puede pasar.

Si el elemento que contiene está fuera de la pantalla u oscurecido, el navegador puede saltar directamente la pintura de su contenido, ya que se garantiza que esté fuera de pantalla u oscurecido. Esto, en última instancia, proporciona valor al asegurar una canalización de renderización más rápida durante una pintura inicial. Este proyecto se está trabajando actualmente en la W3C.

Recursos

Hay muchas maneras de mantenerse al día con las animaciones CSS. A continuación, te presentaré algunas herramientas y recursos, incluyendo especificaciones para leer en tu tiempo libre. Si sabes de otros recursos impresionantes y útiles por favor avísanos en los los comentarios y los agregaremos a la lista. ¡Feliz animación!

Especificaciones de W3C

Aprendizaje

Herramientas

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.