Return to Video

Animando estilos con animaciones CSS (Versión en Video)

  • 0:01 - 0:04
    Ok, debes estar debatiendo entre usar
  • 0:04 - 0:07
    "setInterval" o "requestAnimationFrame"
  • 0:07 - 0:09
    para lo que quieres animar;
  • 0:09 - 0:13
    pero para continuar, te voy a dar una opción más.
  • 0:14 - 0:17
    Verás, en Chrome, Firefox y en IE 10+,
  • 0:17 - 0:21
    en realidad hay una manera de hacer animaciones en CSS,
  • 0:21 - 0:25
    sin escribir ningún código en JavaScript.
  • 0:25 - 0:28
    Vamos a poner comentarios en el código que acabamos de escribir,
  • 0:28 - 0:31
    y probar esto para la animación de "Oh noes".
  • 0:31 - 0:36
    Pondré un comentario que incluya todas estas líneas.
  • 0:37 - 0:41
    Comenzaremos por añadir una etiqueta "" a la página,
  • 0:41 - 0:45
    y luego voy a añadir algo que parece una regla de CSS,
  • 0:45 - 0:48
    pero en realidad es nuestra definición de la animación.
  • 0:48 - 0:51
    Así que escribo: "@keyframes" y luego
  • 0:51 - 0:54
    un nombre para la animación: "getbigger",
  • 0:54 - 0:57
    y luego pongo unas llaves.
  • 0:57 - 1:00
    Para hacer una animación simple que vaya de
  • 1:00 - 1:07
    un estado a otro estado, definiremos "form" y "to".
  • 1:07 - 1:11
    Dentro de "from" vamos a escribir el estado inicial
  • 1:11 - 1:12
    de la propiedad de CSS.
  • 1:12 - 1:16
    Recuerda que lo configuramos en 50px al inicio.
  • 1:16 - 1:19
    Dentro de "to" vamos a escribir a dónde
  • 1:19 - 1:21
    debería llegar la propiedad de CSS.
  • 1:21 - 1:25
    Aquí le ponemos 300px, que es donde terminamos.
  • 1:25 - 1:26
    ¿Recuerdan?
  • 1:26 - 1:28
    Ahora que hemos definido una animación,
  • 1:28 - 1:31
    tenemos que decirle al navegador qué elemento
  • 1:31 - 1:33
    debe usar para esta animación.
  • 1:33 - 1:36
    Así que en realidad voy a añadir una regla normal de CSS
  • 1:36 - 1:39
    para "Oh noes".
  • 1:39 - 1:44
    Y aquí dentro voy a especificar el nombre de la animación,
  • 1:44 - 1:47
    que es "getbigger",
  • 1:47 - 1:51
    y luego la duración de la animación,
  • 1:51 - 1:53
    tres segundos.
  • 1:53 - 1:55
    Dependiendo de qué navegador estén usando,
  • 1:55 - 1:57
    algunos de ustedes estarán pensando:
  • 1:57 - 1:59
    ¡Wow! ¡Genial, funciona!
  • 1:59 - 2:01
    Sin embargo, en otros navegadores, como Safari o Chrome,
  • 2:01 - 2:03
    probablemente no esté funcionando.
  • 2:03 - 2:10
    Esto se debe a lo que se llama "vendor prefixes", (prefijos de fabricante).
  • 2:10 - 2:14
    Algunas veces, el navegador decide
  • 2:14 - 2:16
    implementar una nueva característica,
  • 2:16 - 2:19
    pero el fabricante pone un prefijo a esa característica,
  • 2:19 - 2:22
    para indicar que podría cambiar más tarde.
  • 2:22 - 2:26
    Es sólo un acercamiento del navegador a esa característica.
  • 2:26 - 2:28
    Para hacer que esto funcione en Chrome,
  • 2:28 - 2:30
    si es que todavía no lo hace, tenemos que replicar
  • 2:30 - 2:32
    todo lo que hicimos antes,
  • 2:32 - 2:35
    y ponerle "-webkit-" aquí adelante.
  • 2:35 - 2:38
    Así que tenemos que replicar esta parte,
  • 2:38 - 2:41
    y poner "-webkit-" aquí.
  • 2:41 - 2:50
    Y luego aquí, replicaremos esto, y ponemos "-webkit-", "-webkit-",
  • 2:50 - 2:52
    ¡Wow, bien!
  • 2:52 - 2:55
    Ahora se hace grande en todos los navegadores.
  • 2:55 - 2:58
    Esperemos que para el momento en que veas esta guía paso a paso,
  • 2:58 - 3:00
    los prefijos ya no sean necesarios,
  • 3:00 - 3:02
    pero es bueno que sepas que existen,
  • 3:02 - 3:05
    porque tal vez tengas que usarlos algún día
  • 3:05 - 3:08
    para alguna otra característica.
  • 3:08 - 3:11
    Hay una manera más en CSS de hacer animaciones,
  • 3:11 - 3:15
    y es mediante la propiedad "transition".
  • 3:15 - 3:18
    Esta propiedad le dice al navegador cómo hacer una transición suavemente,
  • 3:18 - 3:20
    de una propiedad a la siguiente.
  • 3:20 - 3:23
    Digamos que queremos que el tamaño de la fuente
  • 3:23 - 3:26
    del tiempo que queda, se haga más grande,
  • 3:26 - 3:28
    cuando pasas el ratón por encima.
  • 3:28 - 3:30
    Podríamos hacer eso en JavaScript,
  • 3:30 - 3:33
    asignando un detector de eventos, para el evento "mouse over"
  • 3:33 - 3:35
    y luego usar "requestAnimationFrame".
  • 3:35 - 3:37
    para incrementar la propiedad de tamaño de la fuente cada vez,
  • 3:37 - 3:42
    pero también podemos hacer todo eso usando solamente CSS.
  • 3:42 - 3:44
    Vamos a pensar, ¿cómo podríamos cambiar
  • 3:44 - 3:47
    el tamaño de la fuente de manera normal,
  • 3:47 - 3:49
    para que sea más grande, cuando pasas por encima, usando CSS?
  • 3:49 - 3:51
    Podemos hacerlo con una regla "hover".
  • 3:51 - 3:54
    Escribimos "#countdown:hover,"
  • 3:54 - 4:00
    y luego, "font-size: 150px".
  • 4:00 - 4:03
    Ok, y ahora sólo le tenemos que decir al navegador,
  • 4:03 - 4:06
    que haga la transición en la propiedad de tamaño de la fuente,
  • 4:06 - 4:09
    en cuánto tiempo debe hacer la transición y
  • 4:09 - 4:11
    qué función de tiempo usar.
  • 4:11 - 4:19
    Así que le decimos: "transition: font-size 1s linear;".
  • 4:19 - 4:22
    Ahora, deberías pausar la guía paso a paso,
  • 4:22 - 4:26
    tratar de pasar el ratón sobre el texto y ver qué pasa.
  • 4:26 - 4:29
    Si estás usando Chrome, Firefox o IE 10+,
  • 4:29 - 4:31
    deberías ver que se hace grande suavemente.
  • 4:31 - 4:36
    Y no necesitas ningún prefijo de fabricante para esta técnica.
  • 4:36 - 4:38
    Hay mucho más que puedes hacer
  • 4:38 - 4:39
    con animaciones y transiciones en CSS,
  • 4:39 - 4:42
    y los navegadores son muy buenos para reproducirlas rápidamente.
  • 4:42 - 4:45
    Así que te animo a que las explores a profundidad.
Title:
Animando estilos con animaciones CSS (Versión en Video)
Description:

more » « less
Video Language:
English
Duration:
04:47

Spanish, Mexican subtitles

Revisions