Hoy en día, muchos sitios web tienen animaciones de imágenes en movimiento. Este no es diferente. Este tipo de animaciones son bastante fáciles de codificar y te mostraré en tres sencillos pasos.
Paso 1
Para esta animación, tomé una imagen de nubes y la animé. Haz un div y dale a la imagen de la nube como su imagen de fondo. Luego, encierra el div dentro de otro div que servirá como envoltorio div.
Paso 1
Para esta animación, tomé una imagen de nubes y la animé. Haz un div y dale a la imagen de la nube como su imagen de fondo. Luego, encierra el div dentro de otro div que servirá como envoltorio div.
HTML
<div id="sky">
<div id="clouds"></div>
</div>
CSS
#clouds {
background-image: url('pic.jpg');
background-size: cover;
}
Paso 2
Proporcione el ancho de div de la imagen al 200% de modo que solo veamos el 100% (es decir, la mitad de la imagen) en la pantalla a la vez, para ver una imagen continua mientras la imagen se desplaza.
Give overflow: hidden al div externo para evitar la barra de desplazamiento horizontal (ya que el ancho de la div de la imagen es dos veces el ancho de la pantalla).
CSS
Proporcione el ancho de div de la imagen al 200% de modo que solo veamos el 100% (es decir, la mitad de la imagen) en la pantalla a la vez, para ver una imagen continua mientras la imagen se desplaza.
Give overflow: hidden al div externo para evitar la barra de desplazamiento horizontal (ya que el ancho de la div de la imagen es dos veces el ancho de la pantalla).
CSS
#sky {
overflow: hidden;
}
#clouds {
width: 200%;
height: 400px;
background-image: url('pic.jpg');
background-size: cover;
}
Paso 3
Ahora es el momento de la animación. Para eso, se usa la regla @keyframes. La
idea es colocar el extremo izquierdo de la imagen en el margen
izquierdo: 0px al comienzo de la animación y en el margen izquierdo:
-100% al final de la animación. Como un efecto de esto, la
primera mitad de la imagen es visible cuando la animación comienza, y la
segunda mitad de la imagen es visible ya que la animación está completa
al 100%.
Finalmente, para hacer que la imagen dure para siempre, dé el valor infinito a la animación de la propiedad. Llamé a la animación 'moving clouds' y la duración de la animación 25 segundos. Cuanto mayor sea la duración de la animación, menor será la velocidad de la animación.
Entonces, el código final se da a continuación.
HTML
<div id="sky">
<div id="clouds"></div>
</div>
#sky {
overflow: hidden;
}
#clouds {
width: 200%;
height: 400px;
background-image: url('pic.jpg');
background-size: cover;
-webkit-animation: movingclouds 25s linear infinite;
-moz-animation: movingclouds 25s linear infinite;
-o-animation: movingclouds 25s linear infinite;
}
@keyframes movingclouds {
0% {margin-left: 0%;}
100% {margin-left: -100%;}
}
0 Comentarios