lunes, 22 de enero de 2018 a las 12:45hs por Valentina Echezuria
Las animaciones en tu sitio web hacen más interesantes e interactivos la navegación en el mismo, por eso en el siguiente tutorial te enseñaremos a crear de manera sencilla el efecto flip.
Empezaremos con el código en el html que necesitaremos, iniciando con el div que le agregaremos la clase (class=»container»), dentro de este agregamos otro div con la clase (class=»card»), y adentro pondremos las 2 caras de la tarjeta en 2 div separados, el primero con la clase (class=»front») que sería la cara frontal, y el segundo con la clase (class=»back») que sería la cara trasera de la tarjeta; el código html quedaría de esta manera:
<div class="container"> <div class="card"> <div class="front"> <h2>Titulo</h2> <hr> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. .</p> </div> <div class="back"> <h2>Titulo</h2> <hr> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. .</p> </div> </div> </div>
Codigo CSS
A continuación indicaremos el código css necesario para crear la animación:
/* El contenedor de la tarjeta */ .container { position: relative; float: left; /* Ancho y alto que tendra el contenedor de la tarjeta */ width: 25%; height: 250px; margin: 10px 0 10px 4%; /* Determinamos la profundidad de los elementos */ -webkit-perspective: 800px; -moz-perspective: 800px; -o-perspective: 800px; perspective: 800px; } .card { width: 100%; height: 100%; position: absolute; cursor: pointer; text-align: center; /* Determinamos la trasicion de los efectos */ -webkit-transition: -webkit-transform 0.4s; -moz-transition: -moz-transform 0.4s; -o-transition: -o-transform 0.4s; transition: transform 0.4s; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -o-transform-style: preserve-3d; transform-style: preserve-3d; } /* Determinamos los grados de la rotación de la tarjeta */ .card.flipped { -webkit-transform: rotateY( 180deg ); -moz-transform: rotateY( 180deg ); -o-transform: rotateY( 180deg ); transform: rotateY( 180deg ); } /* */ .card .front, .card .back { display: block; height: 100%; width: 100%; color: white; text-align: center; font-size: 4em; padding: 15px; position: absolute; /*visibility hidden para esconder una cara mientras se muestra la otra */ -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden; box-shadow: 3px 5px 20px 2px rgba(0, 0, 0, 0.25); } /*Determinamos los estilos deseados en la cara de atras de la tarjeta*/ .card .back { width: 100%; font-size: 16px; text-align: left; line-height: 25px; text-align: center; background: #ff5a5a; /* Animacion para rotar la cara trasera */ -webkit-transform: rotateY( 180deg ); -moz-transform: rotateY( 180deg ); -o-transform: rotateY( 180deg ); transform: rotateY( 180deg ); } /*Determinamos los estilos deseados en la cara de delantera de la tarjeta*/ .card .front { background: #109b87; }
El Resultado visual de cada una de las caras seria:
Codigo Jquery
Para poder hacer funcionar la animación al hacer click en la cara frontal y trasera de la tarjeta crearemos una función con jquery, utilizaremos .toggleclass para poder volver a voltear las caras todas la veces deseadas.
$('.card').click(function(){ $(this).toggleClass('flipped'); });
Y asi de manera sencilla lograríamos el efecto flip en nuestro sitio web.
puedes decirme que efecto usa una pagina en sus div por favor muchas gracias…
esta es la pagina http://beta.wind-and-words.com/
Hola Alejandro.
Por lo que veo en esta página utilizan Pixi.js, una librería para hacer render 2D con WebGL.
Saludos.