Ejemplo de cómo generar y crear un sprite css para mejorar la carga web

0
(0)

Publicado

Aviso importante web en obras

Es posible que el contenido que estás visualizando tenga un formato un poco raro o que se haya perdido algún contenido. Esto se debe a que en 2023/09 decidí renovar la página y con más de 1000 escritos el trabajo de irlos revisando uno por uno es agotador. Poco a poco iré corrigiendo todos los contenidos. ¡Gracias por la comprensión!

gif que muestra el funcionamiento del sprite

Un sprite es un recurso que permite mejorar el tiempo de carga de una página web.

La idea es aglutinar en una única imagen un conjunto de 2 o más imágenes para así reducir el número de consultas a un servidor web.

A priori puede parecer que al conseguir una imagen más pesada la web se ralentiza su carga. Pero en realidad puede darse que el tiempo ganado al requerir un único recurso al servidor compensa el tiempo que se pueda perder al cargar una imagen con más Kb.

Veamos a la práctica como se usa pues un sprite.

¿Cómo generar un sprite?

Existen varias web apps en internet que te van a ayudar a hacerlo.

En mi caso he usado esta web.

He subido 9 imágenes previamente preparadas en mi web.

El resultado ha sido una imagen .png cuyo peso es la suma de todas las anteriores.

Al pasarla a .jpg y guardarla para web mediante photoshop el peso se ha reducido considerablemente.
Ejemplo de cómo generar y crear un sprite css para mejorar la carga web 1

Ejemplo de cómo generar y crear un sprite css para mejorar la carga web 2

Ejemplo de cómo generar y crear un sprite css para mejorar la carga web 3
Mencionar que todas las imágenes usadas tienen las mismas dimensiones para facilitar el código que veréis a continuación.

Ejemplo de uso del sprite

Para ilustrar un uso de como usar convenientemente un sprite se ha preparado un documento html con 3 contenedores.

La idea es que se van a cargar siempre la misma imagen pero que cada contenedor muestra una porción concreta del sprite.

Cuando se pase el ratón por encima de cada dimensión se mostrará otra porción distinta de la imagen.

Para ello usaremos cada vez la instrucción background-position{}según nuestras necesidades.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Ejemplo de uso de un sprite</title>
	<meta name="author" content="francesc ricart"/>
	<style>
		div{
			width:200px;
			height:200px;
			background-image:url('sprite.jpg');
			background-repeat:no-repeat;
			display:inline-block;
			border:1px solid red;
		}
		.imagen-1{
			background-position:0% 0%;
		}
		.imagen-2{
			background-position:50% 0%;
		}
		.imagen-3{
			background-position:100% 0%;
		}

		.imagen-1:hover{
			background-position:0% 50%;
		}
		.imagen-2:hover{
			background-position:50% 50%;
		}
		.imagen-3:hover{
			background-position:100% 50%;
		}

	</style>
</head>
<body>

	<div class="imagen-1"></div>
	<div class="imagen-2"></div>
	<div class="imagen-3"></div>
	
</body>
</html>

El resultado final se muestra a continuación:
Ejemplo de cómo generar y crear un sprite css para mejorar la carga web 4
¡Hola!

Querido lector,

¡No te quedes sólo con la teoría de como mejorar el tiempo de carga de una web y pasa a la acción!

¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *