¿Para que sirve combinar imágenes con CSS sprites?
Bien cuando tenemos un blog, las imágenes son indispensables, las imágenes son muy necesarias ya sea para la decoración del blog, un mensaje, un comunicado, redes sociales, entre muchas mas funciones, sabemosque necesitamos mucho el uso de imágenes, pero cuando un blog tiene muchas imágenes tarda mucho en cargar, y la velocidad de un sitio sea blog u otro es muy importante ya que este tiene que cargar una imagen y la otra y la otra....en fin, recuerde que si su blog es muy lento, los usuarios que lo visiten se aburrirán de esperar y se irán, ademas la velocidad es un factor muy importante en el posicionamiento en google, entre otras palabras la velocidad del blog es esencial.
Es aquí cuando entra la técnica CSS sprites, la cual nos ayuda a mejorar realmente la carga del blog al combinar todas las imágenes en una sola! por ejemplo mis iconos y mi logotipo están en esta imagen de css-sprites:
¿Porque es tan importantes usar imágenes con CSS sprites en blogger?
como ya explique en cuanto mas imágenes tenga un blog mas lento. Los factores que asen que las imágenes disminuyan la velocidad de el blog son:- el numero de imágenes
- la mayoría de imágenes que subimos a blogger no tienen un buen cache y nosotros no podemos especificar el cache (el cache no especificado de las imágenes ralentiza mucho el blog)
- el servidor en donde se subieron las imágenes (cuando tenemos un blog las imágenes se almacenan el los albumnes web de picasa la mas recomendable)
- el tamaño de la imagen
- especificar el tamaño de la imagen (cuando subimos una imagen es recomendable definir el tamaño original, y no reducirla o aumentarla)
Entonces, si tuviéramos por ejemplo 9 imágenes en el blog, que forman los iconos sociales, el titulo etc,
los problemas mas comunes serian los siguientes:
- el blog cargara 9 imágenes cada una por separado
- A cada una hay que especificarles el cache (no se puede)(muchos caches, 9)
- especificar tamaño de la imagen
- combinar imágenes con css-sprites
- optimizar imágenes, (el peso de cada una)
- tarda mas la carga del blog
- Se cargara una sola imagen
- especificar un solo cache (poco cache)
- no necesita especificar tamaño
- la carga del blog aumenta considerablemente!
¿Como usar css sprites en la imágenes de mi blog?
Bien la técnica css sprites es un poco complicada de entender al principio, pero te explicare de la forma mas fácil posible, ok? comencemos! tengo 2 formas hice 2 vídeos y también de forma escrita para explicar como combinar imágenes con css sprites.en vídeos
forma escrita
recomiendo usar la 2 formas para entender mas este tema.
primero identifica las imágenes en las quieres aplicar esta técnica, una sugerencia: fíjate en las imágenes de iconos sociales, el logo del blog o pagina, imágenes que estén en el pie de pagina (en la parte de abajo del blog) en fin todas esas imágenes que consideres para unirlas.
una ves que las tengamos tenemos que unirlas, hay 2 formas
1 usando un programa (por ejemplo photoshop) o online como pixlr para unir las imágenes a mano (Recomendado)
2 usando un servicio que las una un generador de css sprites
yo prefiero usar la primera opción para acomodar mis imágenes solo tienes que ir acomodando las imágenes al lado de la otra y recuerda que el chiste es ocupar todo el espacio posible en esa imagen. como se muestra en la imagen de arriba. para mas comodidad y manejo lo haremos de las 2 formas.
Sigue detenidamente los pasos, el paso A es para usar la primera opción, el paso B es para usar la segunda opción, el paso C continua de forma general.
A) Esta forma es la de la opción uno, si quieres usar la opción 2 salta este paso y ve a la opción B.
ingresa a un programa o al servicio de edición online pixlr, el objetivo es ir acomodando una imagen al lado de la otra como se ve en el vídeo. una ves que tenga la imagen lista sigue con el paso C.
B) crea un archivo de winzip, en el deberás introducir todas las imágenes que quieres fusionar para convertirlas en css prites, una ves la tenga entra ala pagina que genera css sprites. escoja el winzip y en "Opciones del Sprite generado" cambia la alineación del sprite a horizontal, y en desplazamiento horizontal y vertical pon "1px", una ves echo esto presiona "Crear imagen y css" una ves generado descarga la imagen del sprite.
C) Ahora que tienes tu imagen con las imágenes dentro podemos continuar, sube tu imagen a blogger,
elige la opción tamaño original, da click derecho sobre la imagen y da en copiar url de imagen (la necesitaremos) ingresa a plantilla - personalizar - avanzado y añadir css
en añadir css pega este código
#css-sprite a{en la parte de color verde pega la url de la imagen que copiamos anteriormente, y da en guardar plantilla.
top:70px;
left:40px;
background:url('URL de la imagen css sprite') no-repeat;position:absolute}
con eso ya habremos introducido la imagen de css sprite.
D) bien ahora vamos a diseño y agregamos un gadget de HTML/Javascript, en el pega este código
<div id="css-sprite">
aquí los códigos
</div>
con ese código estoy convocando la imagen que esta en el css sprites, ahora por cada imagen que queramos mostrar tendremos que agregar un código como este en donde dice "aquí los códigos"
<a class="sprite-GooglePlus" href="https://plus.google.com/117682146618759000308"
target="_blank" title="sígueme en google+"></a>
bien ahora déjame explicarte cada parte de ese código:
- lo de color verde es un nombre único que debemos colocar para identificar la imagen, por ejemplo: primero quiero colocar el icono de google+ entonces el nombre que le puse fue "Googleplus"
- lo de color azul es la url que abrirá, como es del icono de google coloque la url asía mi perfil de google plus, si no quieres que abra una url elimina esta parte:
href="https://plus.google.com/117682146618759000308"
target="_blank"
- la parte en color violeta es el texto que mostrara al colocar el mouse o ratón sobre la imagen, en este caso coloque "sígueme en google+"
Recuerda que por cada imagen que quieras agregar deberás poner un código como ese, Ejemplo si quiero colocar el icono de facebook agrego un código como ese justo al lado del otro y cambio los valores
Googleplus por facebook - la url asía mi pagina de facebook - y sígueme en google por sígueme en facebook y me quedaría así:
<div id="css-sprite">
<a class="sprite-GooglePlus" href="https://plus.google.com/117682146618759000308"
target="_blank" title="sigueme en google+"></a>
<a class="sprite-facebook" href="http://www.facebook.com/BitacoraDelManzano"
target="_blank" title="sigueme en facebook"></a>
</div>
E) una ves colocados estos códigos las imágenes no aparecerán, para que aparezcan vamos a diseño, luego en personalizar, avanzado y añadir css, y para cada imagen al igual que el código anterior debemos agregar un código css, primero sacare el de google+ este es el css:
#css-sprite a.sprite-Googleplus{background-position:-278px -1px;
width:32px;height:32px;margin-left:0px;border:0}
una ves agregado este código deberá aparecer el icono de google+ de la imagen css sprites.
- lo que esta en color verde es el nombre único que le asignamos al icono de google+, este debe ser el mismo.
- lo de color rojo es para correr la imagen es decir, para hallar la posición del icono de google en toda la imagen del sprite, en el vídeo se explica de forma mas clara y ven como funciona, el primer valor (-278px) es para mover la imagen asía los lados y el otro valor (-1px) es para mover el sprite de arriba a abajo
- lo que esta en color azul es el ancho y la altura de la imagen, Ejemplo el icono de google mide 32x32, dependiendo de la imagen deberás especificar el tamaño.
y asi sucesivamente se van añadiendo los codigos, ahora el siguiente icono es el de facebook, el codigo para que aparesca es este:
#css-sprite a.sprite-facebook{background-position:-310px 0px;
width:32px;height:32px;margin-left:40px;border:0}
como en el código anterior esta el nombre exacto que le asignamos, como el icono de facebook esta al lado del de google en la imagen de css sprites entonces se aumenta el valor (-310px) para ubicarlo, un dato interesante es que la parte de color violeta en el código de google es cero, pero en este es de 40 ¿porque? esa es la cantidad para correr la imagen al lado de la otra me explico, si lo colocara en cero la imagen de facebook aparecería encima de la de google, entonces este valor es para separar un icono del otro.
Así sucesivamente vas agregando los códigos para que parezcan.
F) Vamos a poner una de las imágenes que esta en el css sprites de otra forma, voy a poner la imagen del logo (el libro de color azul) este seria el código:
<a class="sprite-bitacoram" href="http://bitacoramanzano.blogspot.com/"
title="Bitacora del Manzano"></a>
y para que aparezca, en el diseñador de plantillas coloco este css:
#css-sprite a.sprite-bitacoram{background-position:-209px 1px;
width:69px;height:80px;margin-left:-390px;margin-top:-280px;padding:0}
- Como pueden ver tiene el nombre único el cual es "bitacoram"
- como la imagen es mas grande especifico su tamaño
- como es el logo estará bastante lejos de las demás imágenes por eso tiene un valor mas alto (-390px)
- a diferencia de los demás códigos, este tiene un código extra, el que esta en color rojo este es para correr la imagen de arriba a abajo,
si una quieres que tus imágenes suban puedes agregar ese código a los demás o mas recomendable en el paso C, el valor top: 70 y left: 40 lo pueden cambiar (esto ara que se corran todas la imágenes)
Espero te haya servido
RECOMIENDO! miras los vídeos para entender mejor como como usar imágenes con CSS sprites en blogger.