Terminemos la semana con algo divertido, ¿vale? Las animaciones de fotogramas clave de CSS actualmente tienen un soporte de navegador muy limitado, pero todavía son bastante interesantes para aprender y experimentar.
A continuación, creamos una página web simple que aprovecha las animaciones de fotogramas clave de Webkit para cambiar suavemente el color de fondo en un bucle sin fin. Intrigado? Sigue leyendo
Manifestación
Para obtener un adelanto de lo que construiremos hoy, haga clic en el siguiente enlace.
Demo en vivo: Haga clic aquí
Animaciones de juegos clave: todavía sólo por diversión
Con CSS3, es bastante fácil que un color se convierta en otro, digamos en un comando flotar. Establecer dos colores diferentes, lanzar en una transición y ya está bueno para ir. ¿Pero qué pasa si queremos tener algo que cambie de color continuamente? La respuesta está en los fotogramas clave.
Actualmente, el soporte para animaciones de fotogramas clave en CSS es bastante bajo. De hecho, solo se puede confiar en que funcione en navegadores Webkit como Safari y Chrome (Firefox 5 también debería recibir asistencia). Entonces, la parte desafortunada es que, al igual que con muchos trucos de CSS3, esto no está del todo listo para su uso en producción a menos que esté completamente preparado para que una gran cantidad de usuarios se pierda la experiencia.
Cómo funcionan los fotogramas clave
Las animaciones de fotogramas clave son una de las características nuevas más complicadas de CSS. De hecho, se siente un poco más como la programación que el estilo, incluso hasta el punto de casi declarando una variable! Hagamos un recorrido rápido y sucio para ver cómo funcionan.
Lo primero que debes hacer es declarar el bloque de fotogramas clave de webkit y nombrar tu animación.
Como indiqué anteriormente, su nombre de animación es casi como una variable a la que recurrirá más adelante, así que asegúrese de que sea descriptivo y fácil de recordar. Por ejemplo, para nuestro experimento, podríamos usar el nombre "colorPulse".
A continuación, llenamos esto con una especie de línea de tiempo para nuestra animación. Piense en ello como en declarar fotogramas clave como lo haría en un programa de animación, solo que aquí está usando código puro. Los porcentajes representan el estado del objeto en ese punto de la animación.
Aquí obviamente estamos animando la propiedad de color de fondo. En 0%, el color sería rojo, en 50% sería blanco y en 100% sería azul. Toda la interpolación se realiza automáticamente, por lo que todo lo que queda es aplicar la animación a un elemento específico y definir el comportamiento. Aquí lo aplicamos a un div.
Como puede ver, usamos el nombre de la animación, esto apunta a las cosas que configuramos antes. A continuación, establecemos la duración (10 segundos), el número de iteraciones (infinito) y la dirección (alternativa). El último de estos hará que la animación se ejecute hacia atrás y hacia adelante: rojo, blanco, azul, blanco, rojo, blanco, azul, etc.
Esto es realmente la taquigrafía de estas declaraciones. También puede configurarlos uno a la vez. Aquí hay una lista más grande de las propiedades de animación que puedes definir:
Fondo del sitio web pulsante
Ahora que tenemos una idea de cómo funciona esto, vamos a profundizar más construyendo un ejemplo real. Comenzaremos diseñando un diseño de página básico y luego terminaremos agregando nuestra animación.
Color de fondo
Para diseñar la página, necesitamos elegir un color de fondo. Esta es una tarea interesante considerando el proyecto. Nuestro objetivo es crear un fondo que pulsa de un color a otro. No puedo subrayar lo peligroso que es esto desde la perspectiva de un diseñador. ¡Casi estás condenado a crear algo tan feo que nadie puede mirarlo!
La mejor manera en que podemos abordar esto es desde una posición de sutileza. Queremos cambios lentos y suaves que sean agradables y no discordantes. Si escogemos colores demasiado audaces o brillantes, quemaremos los ojos de los espectadores.
Desde que acabamos de pasar Easer, mi mente está atascada en los pasteles y se me ocurrió que tal paleta podría ser perfecta para este proyecto. Encendí a Kuler, busqué? ¿Pastel? y encontré la siguiente paleta.
Estos son los colores que usaremos para nuestro fondo. Cuando se combina con un cambio realmente lento, debería darnos un efecto bastante suave y atractivo.
HTML básico
Para sentar las bases de nuestro experimento, creé mi cliché típico? Diseño de diseño web: un encabezado, subtítulo y una imagen. Realmente no necesitamos mucho, solo lo suficiente para que la página no sea increíblemente aburrida.