CSS3: Propiedad Transition, crea animaciones solo con CSS
Para nosotros los creadores de la magia en internet, los que hacemos posible que los internautas pasen un buen (o mal) rato navegando por internet, para nosotros que siempre estamos tratando de llevar lo mejor a nuestros amigos lectores, hay una buena noticia. Gracias a los ultimos desarrollos del lenguaje CSS podremos ofrecer una mejor experiencia en nuestros sitios con el menor esfuerzo.
Esta es una de esas propiedades que cambian por completo la forma de renderizar las páginas web para un navegador web, o al menos para los que estamos acostumbrados al oscuro CSS2. Y es que Mediante esta propiedad de CSS3 podemos crear cualquier tipo de animación en nuestro sitio web. Ya sea girar, aumentar de tamaño, cambiar color de fondo, color de letra o el color de sombra a cualquier elemento de nuestros sitios web, veamos de que hablo:
CSS funny!
Aunque se vea un poco lento y feo, se ve interesante no? la mejor parte de esto es que podremos hacer que este tipo de cosas funcionen sin tocar una sola línea de código de programación y lo haremos de una manera tan sencilla que en menos de lo que piensas lo estarás aplicando a tu sitio.
Sintaxis
Entrando en materia, la sintaxis de esta propiedad se puede colocar de dos formas, pero si me preguntaran por la manera mas sencilla de hacerlo sería de la siguiente forma:
La segunda manera de aplicarlo es separando la declaración en cuatro diferentes propiedades y aunque suene complicado no lo es, basta con hacerlo de la siguiente manera:
Esta segunda forma de aplicarlo es interesante si quieres recordar que es lo que estas tocando al momento de hacer alguna modificación en el futuro, pero si sabes lo que estas haciendo o si quiere hacerlo de manera práctica te recomiendo que uses la manera sencilla, es la que yo más utilizo.
Para aplicar esto a nuestro HTML es igual que cualquier otra propiedad CSS. Aquí te dejo un ejemplo de como se implementaría en todos los párrafos de un sitio web:
En este ejemplo estamos afectando a todas las etiquetas <p> con la propiedad transition
Si te preguntas que es lo que puedes hacer con esta interesante propiedad de CSS, a continuación te explicamos que es lo que puedes colocar en cada campo de la declaración. Sólo para asegurar que tengas todo lo que necesitas para crear las animaciones que te estas imaginando en este momento.
[Propiedad CSS]
Aqui puedes colocar CUALQUIER propiedad CSS que te imagines, ésta será la propiedad a la que se afecte. Si quieres una lista con ejemplos aqui hay algunos:
Demasiadas opciones no?, si no te decides o si quieres que todas las propiedades se animen existe también una opción que actúa como un "comodín", lo que significa que no importa cual propiedad CSS o incluso si son dos o tres esta opción seleccionará todas las propiedades CSS:
[Tiempo]
Aquí podemos colocar el tiempo que durará nuestra animación, ¿cuánto tiempo quieres que tarde en agregar ese borde rojo?. Lo podemos colocar en unidades de segundos, cualquier cantidad de segundos que quieras.
Siempre recordando que no hay que abusar de esta propiedad, pues si ponemos mucho tiempo el usuario se aburrirá de esperar a que ocurra el efecto. Y si colocamos demasiado poco tiempo no podrá ver la animación.
[Función de Tiempo]
Aquí es un tanto extraño para muchos que no son muy adentrados en el tema de animaciones. Se trata de unas funciones que están predefinidas que permiten que avance mas rápido al inicio de la animación y mas lento al final, al revés o que dure mas tiempo en el medio de la animación.
Podemos colocar cualquiera de estas funciones que ya están definidas:
linear.- La animación se realiza de manera uniforme ease.- La animación acelera al inicio se retarda un poco y se acelera al final de nuevo ease-in.- La animación se retarda al inicio, pero lo repone al final ease-out.-La animación se acelera al inicio pero se retarda al final, ease-in-out.- La animación se retarda al inicio se acelera un poco luego se retarda al final de nuevo.
Cabe rescatar que aunque se retarde al inicio, al final o a la mitad de la animación siempre durá el tiempo que le definimos en la sub-propiedad [Tiempo].
[Retardo]
Aqui colocaremos el tiempo que tardará la animación en iniciar. Lo debemos definir en unidades de segundos. Tambien hay que tener un poco de tacto y ponernos en los zapatos de nuestras visitas y no colocar demasiado tiempo.
Ejemplos
Ahora veamos un ejemplo de la propiedad Transition en funcionamiento, para disolver dudas siempre he dicho que es mejor ver un ejemplo funcionando:
Código CSS:
Código HTML:
Ejemplo:
Este es cualquier elemento de mi página web
Código CSS:
Código HTML:
Ejemplo:
Este es cualquier elemento de mi página web
Cada quién tiene ideas diferentes así que seamos creativos :P!!!
Excelente!!!. Esto es el principio de lo que se viene con HTML5 y CSS3, era hora que hagan estos cambios pero por lo visto van a recuperar el tiempo perdido. Muy buenos los efectos que usas en la web.
Hola. no puedo ejecutar ninguno de los dos codigos, puede ser porque lo coloco en algun lugar que esta ejecutando una funcion? ejemplo, un Link.. Gracias
un evento me puede modificar una propiedad de otro elemento? si hago un cambio en un div, el contenedor en el que se encuentra, se acomoda al tamaño de este div automticamente? agradezco y manito arriba
Excelentes articulo, gracias por compartir tus conocimientos. Hice un carrusel pequeno de imagenes con su transition, pero en safri no lo puedo vcer a pesar de que puse sus prefijos de -moz- y -webkit-..por ejemplo en mi ipad no lo veo y en mi iphone tampoco. Yo puse en los estilos el cursor:pointer, no se si porque uso los dedos no salga ...disculpa mi novatada ..gracias
Excelente!!!. Esto es el principio de lo que se viene con HTML5 y CSS3, era hora que hagan estos cambios pero por lo visto van a recuperar el tiempo perdido. Muy buenos los efectos que usas en la web.
ResponderBorrarMe parece muy interesante, pero quisiera saber como se puede hacer que clicando en una imagen, se expanda un objeto; y clicando en otra se contraiga.
ResponderBorrarmuy buena información gracias por la explicación, es fácil de entender :), que bien que haya personas que comparten sus conocimientos :)
ResponderBorrarQue pasada. Gracias por la información.
ResponderBorrarmuy bueno, re bien explicado, gracias por el articulo
ResponderBorrarHola. no puedo ejecutar ninguno de los dos codigos, puede ser porque lo coloco en algun lugar que esta ejecutando una funcion? ejemplo, un Link..
ResponderBorrarGracias
si claro! y iexplorer?
ResponderBorrarMuy buen ejemplo para animar de manera sencilla. gracias
ResponderBorrarno funciona en IE... nisiquiera en el 9
ResponderBorrarque podemos hacer para que funcionen en IE??
ResponderBorrarun evento me puede modificar una propiedad de otro elemento? si hago un cambio en un div, el contenedor en el que se encuentra, se acomoda al tamaño de este div automticamente?
ResponderBorraragradezco y manito arriba
Hola, me he pasado por tu blog en boosterblog.es y me a gustado bastante, te e dejado +5 espero estemos en contacto y compartamos ideas ;).
ResponderBorrarMuchas Gracias Excelente apoyo.
ResponderBorrargracias amigo me sirvio mucho tu ayuda
ResponderBorrarExcelente! El mejor explicado que leí hasta ahora! (y)
ResponderBorrarMuy bien explicado. gracias.
ResponderBorrarexcelente aporte. Gracias me sirvio de mucha ayuda
ResponderBorrarExcelentes articulo, gracias por compartir tus conocimientos.
ResponderBorrarHice un carrusel pequeno de imagenes con su transition, pero en safri no lo puedo vcer a pesar de que puse sus prefijos de -moz- y -webkit-..por ejemplo en mi ipad no lo veo y en mi iphone tampoco.
Yo puse en los estilos el cursor:pointer, no se si porque uso los dedos no salga ...disculpa mi novatada ..gracias