lunes, 31 de octubre de 2011

Ojos que siguen al cursor

Una forma graciosa de mantener entretenidos a los lectores pequeños (y no tan pequeños) en nuestro blog, es con unos ojos que siguen al cursor por donde éste se mueva. El objetivo es meramente de entretenimiento para quitarle un poco de seriedad al blog y hacer que los lectores se diviertan.
Puedes ver el ejemplo aquí mismo, mueve el cursor por la página y los ojos te seguirán.






Colocar estos ojos que siguen al cursor no nos quitará mucho tiempo. Si usas la interfaz antigua entra en Diseño | Elementos de la página | Añadir gadget | HTML/Javascript. Y si usas la nueva interfaz entra en Diseño | Añadir gadget | HTML/Javascript. Ahí pega esto:
<script type='text/javascript'>
//<![CDATA[
// Ojos que siguen al cursor
// Script original de Oopstudios.com
// Adaptado por ciudadblogger.com

EYES = {};
EYES.stack = [];
//
EYES.follow = function (eye) {
var el1 = document.getElementById (eye);
var el2 = el1.getElementsByTagName ("IMG");
el2 = el2[0];
el2.centre = (el1.offsetWidth - el2.offsetWidth) / 2;
el2.style.margin = el2.centre + "px 0 0 " + el2.centre + "px";
el1.maxDist = 6 * el1.offsetWidth;
EYES.stack.push ([el1, el2]);
};
EYES.mousemove = function (e) {
if (!EYES.stack.length) {
return;
}
//
var mouseX = mouseY = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
mouseX = e.pageX;
mouseY = e.pageY;
} else if (e.clientX || e.clientY) {
mouseX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
mouseY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
//

for (var e=0, l=EYES.stack.length; e<l; e++) {
var el = EYES.stack[e];
var elX = elY = 0;
if (el[0].offsetParent) {
obj = el[0];
do {
elX += obj.offsetLeft;
elY += obj.offsetTop;
} while (obj = obj.offsetParent);
}
el[0].centreX = elX + Math.round (el[0].offsetWidth / 2);
el[0].centreY = elY + Math.round (el[0].offsetHeight / 2);
var difX = mouseX - el[0].centreX;
var difY = mouseY - el[0].centreY;
var dTan = Math.atan2 (difX, difY);
var dist = Math.sqrt ((difX * difX) + (difY * difY));
dist = Math.sin ((dist > el[0].maxDist ? 1 : dist / el[0].maxDist));
var newX = el[1].centre + Math.round (Math.sin (dTan) * el[1].centre * dist);
var newY = el[1].centre + Math.round (Math.cos (dTan) * el[1].centre * dist);
el[1].style.margin = newY + "px 0 0 " + newX + "px";
}
};

if (window.attachEvent) document.attachEvent ("onmousemove", EYES.mousemove);
else document.addEventListener ("mousemove", EYES.mousemove, false);
//]]>
</script>


<div style="position:relative; height:150px; margin-bottom:30px;">
<div id="Ojo1" style="width: 170px; height: 140px;
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV6IPWTiHjMDinLQFQwlHC3650tXCDzqIMgQg4rlrApbJIhN7jdOj2cB0yg2juO63n9hxgcdpgl_Af6RdqRUhhOqR8bwWakFeAGFEQXuAdHLHb0omdS1tKLadNqeLGWO2cKPo-r1c46VM/s170/ojo_1.png) center center no-repeat; position: absolute; left: 307px; top: 20px;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA7YZfnbvM_L2UX_VdkdEn4bmH7aIom2soLpPbL_GVtPIU3aNuSCG0NzLTBGuRfNwuhhg_FptoZuHUn_a961GUBTTJYdYend7DIKeSeh29Igh_D-9MUQ0BvYkFGdnuqgulqDbVDYPFoTo/s30/pupila.png" width="23" height="23" /></div>
<div id="Ojo2" style="width: 170px; height: 140px; background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMs9I1V13PcAGACRwPplOg3wHlEHm23rl_gVG2bxfwd6T8M5tcHD3lM2GVHr2VanvxhFP1dtlkstZX3GgqA5URyXW5fmVwyjcIsxWAcA-V1I_KnCoT-sMSmObO5hnGsqsp_5Rke_DJN5A/s170/ojo_2.png) center center no-repeat; position:absolute;
left: 485px; top: 20px;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA7YZfnbvM_L2UX_VdkdEn4bmH7aIom2soLpPbL_GVtPIU3aNuSCG0NzLTBGuRfNwuhhg_FptoZuHUn_a961GUBTTJYdYend7DIKeSeh29Igh_D-9MUQ0BvYkFGdnuqgulqDbVDYPFoTo/s30/pupila.png" width="23" height="23" /></div>
</div>



<script type="text/javascript">
EYES.follow ('Ojo1');
EYES.follow ('Ojo2');
</script>
Guarda los cambios y listo. Los ojos se verán mucho mejor si los pones debajo de la cabecera, así que sólo basta arrastrrar el gadget debajo de la cabecera para que quede ahí.

Pero para que haya un poco de variedad he puesto a su disposición cuatro tipo de ojos diferentes, sólo tienes que eliminar la parte gris tenue y en su lugar poner uno de estos códigos.
<div style="position:relative; height:145px; margin-bottom:30px;">
<div id="Ojo1" style="width: 132px; height: 143px; background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOpjtB8kB2B9h_rLQj6wHzn9Pch3siBs0hyrsLG7h-ksHCbrfPjy6Qwr_1utrqKcPKECTb7VUYYCRO0VqD62JUBo7ax2108zqrTigDGKvr9-wjeC3i92bam0QyzcGT9K38UK21hJA5dNs/s143/ojo1.png) center center no-repeat; position:absolute; left: 377px; top: 20px;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOGmHnwunGQPJWPNasIlAMGczOdTmYFBxt2okUpAjmcQtVmtoiOayrdemngZWUE4gT31DuFcWD9BG_BoRCbBo9OxXA1_AxHvoWuZha5xAX5oeuQmeb4tK072XFlDlii-bLBMw1pfk-A6I/s34/pupila.png" width="30" height="30" /></div>
<div id="Ojo2" style="width: 132px; height: 143px; background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHAkd2Dhe5DL-VaYVeKIgLzeKAX5BffhmfvfT_zGBd2C9QCX0UyKcxHYUHQT31WynW5Iw0qZj3AMoKCe086JG93x0n-QgURS_CwzLBKHCcpwm7NL6qnhOI_Cy-u2Te-Ex3fG9Kam8FPV4/s143/ojo2.png) center center no-repeat; position:absolute; left: 485px; top: 20px;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOGmHnwunGQPJWPNasIlAMGczOdTmYFBxt2okUpAjmcQtVmtoiOayrdemngZWUE4gT31DuFcWD9BG_BoRCbBo9OxXA1_AxHvoWuZha5xAX5oeuQmeb4tK072XFlDlii-bLBMw1pfk-A6I/s34/pupila.png" width="30" height="30" /></div>
</div>

<div style="position:relative; height:145px; margin-bottom:30px;">
<div id="Ojo1" style="width: 127px; height: 135px; background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9nm2gZpsNBlPC5kb2rcBEYxAZI4Pb55jf6b_g00fSUaLfcVnB_LmPVnF5B-TDRO3yzy1amAOotEcM2X9OLUELyU85W_Edc9SSSvFo17LLp6viEeH8JElVyyjbxVQ4Ad8dUs2Oi1Nt8vY/s135/ojo1.png) center center no-repeat; position:absolute; left: 377px; top: 20px;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdl25K28QChtaNpd8z5yYQAyS-tO0jfPLuEHkL8PZZT2XX2Sbs0YbvM4Vvt6Cid60WPS8ibO3M2-3io0B3mnQAOhZb82AMcOsJO1nOPz2zkiGZp_pi_VfkRuBheFZVFADb-9inTriseVM/s34/pupila.png" width="30" height="30" /></div>
<div id="Ojo2" style="width: 127px; height: 135px; background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsHo7u14a6oSSxkvn4IeGuDvfpRPiomNsTz-fUcjkN_btXK7Nw1NRyGj5_1lcBLiVXVanHhauGszAaDUgnFr7_alBCppB-3vWnsbcpsjmE3YPwRjnQ48fynctbfX8E4gVpzB4Si6EW6v4/s135/ojo2.png) center center no-repeat; position:absolute; left: 515px; top: 20px;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdl25K28QChtaNpd8z5yYQAyS-tO0jfPLuEHkL8PZZT2XX2Sbs0YbvM4Vvt6Cid60WPS8ibO3M2-3io0B3mnQAOhZb82AMcOsJO1nOPz2zkiGZp_pi_VfkRuBheFZVFADb-9inTriseVM/s34/pupila.png" width="30" height="30" /></div>
</div>

<div style="position:relative; height:161px; margin-bottom:30px;">
<div id="Ojo1" style="width: 180px; height: 161px; background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvTbEx3nemH-4gSSSeHefcoI9spExvsqm9C8F8XIVoXOhkIKEU_VHlbLqN4POxSU3KRVWwQgYeLCbq-7QreKdYHq5wXdxNXffTuOAvKJtAg-2F1zEoUT_52Eh_KcWPD8W0EQoCri_NZ2o/s180/ojo1.png) center center no-repeat; position:absolute; left: 307px; top: 20px;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE-t9Nlz6bNawpYPkqSBLqPixbIUs71hJB-iRsovLAXE3qmfLrWZtWYSRFfWHBRbKBfHQ76DitGNhcg45_7G6uL-qtHYYFRYNXQojK75B6lsP8JxNypXcL8tWmIxCOWFyxB-pej10CTnU/s71/pupila.png" width="65" height="65" /></div>
<div id="Ojo2" style="width: 180px; height: 161px; background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrryKJF_QJ7KGKAMw56R2ZPpMLwHMLzvav188LWjNsZQs1DCgTytrwaiXy-SfuHiV0dLyc-aTvXs4G72bvusqH_tHxzb_ja5VSdDawlu9jz7kXaxuZVYlpcHFBiSbipf6u5UII9db_V9o/s180/ojo2.png) center center no-repeat; position:absolute; left: 545px; top: 20px;">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE-t9Nlz6bNawpYPkqSBLqPixbIUs71hJB-iRsovLAXE3qmfLrWZtWYSRFfWHBRbKBfHQ76DitGNhcg45_7G6uL-qtHYYFRYNXQojK75B6lsP8JxNypXcL8tWmIxCOWFyxB-pej10CTnU/s71/pupila.png" width="65" height="65" /></div>
</div>



Si quisieras mover los ojos más a la izquierda o derecha entonces debes modificar las partes en color rojo, el primer valor es la distancia del primer ojo desde la izquierda, y el segundo valor es la distancia del segundo ojo también desde la izquierda. Por lo tanto, para separar o juntar más los ojos sólo debes modificar el segundo valor de left.

Ojalá que se diviertan tanto como seguro sus lectores lo harán :)

Cajas con animaciones usando jQuery





En Build Internet explican como crear animaciones en cajas con cualquier contenido usando jQuery, son muy impresionantes y atractivas, y pueden ser muy útiles cuando pensamos en una galería de imágenes que muestre cualquier leyenda como el título de la imagen o fotografía, una descripción corta con algunos enlaces etc.



La idea es muy simple, ponen una capa o div, que actúa como una ventana, en donde los otros dos elementos se ven a través de esta, uno es visible, en este caso la imagen, y la otra es la que tendrá la animación, que en este caso, es donde están los textos o leyenda y/o otra imagen.



Se puede usar ya sea una o todas las distintas animaciones en una misma galería, y si no vas a usar alguna, será necesario que borres la parte del código que correponde a esa animación; en todo el código vienen los comentarios donde se puede identificar cada uno.






Muy mono ¿verdad?, veamos como hacerlo...



¿Cómo usarlo? 



1. Primero, necesitas jQuery que agregas antes de </head>, y si ya lo tienes, no lo agregas.



<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js' type='text/javascript'/>



2. Agregar las funciones para cada animación, aquí ya vienen agregadas las 6 diferentes animaciones, y esto se pone después de jQuery:


<script type='text/javascript'>
//<![CDATA[
            $(document).ready(function(){
                //Deslizamiento Vertical
                $('.boxgrid.slidedown').hover(function(){
                    $(".cover", this).stop().animate({top:'-260px'},{queue:false,duration:300});
                }, function() {
                    $(".cover", this).stop().animate({top:'0px'},{queue:false,duration:300});
                });
                //Deslizamiento Horizontal
                $('.boxgrid.slideright').hover(function(){
                    $(".cover", this).stop().animate({left:'325px'},{queue:false,duration:300});
                }, function() {
                    $(".cover", this).stop().animate({left:'0px'},{queue:false,duration:300});
                });
                //Deslizamiento en diagonal
                $('.boxgrid.thecombo').hover(function(){
                    $(".cover", this).stop().animate({top:'260px', left:'325px'},{queue:false,duration:300});
                }, function() {
                    $(".cover", this).stop().animate({top:'0px', left:'0px'},{queue:false,duration:300});
                });
                //Deslizamiento parcial (muestra una parte del fondo)
                $('.boxgrid.peek').hover(function(){
                    $(".cover", this).stop().animate({top:'90px'},{queue:false,duration:160});
                }, function() {
                    $(".cover", this).stop().animate({top:'0px'},{queue:false,duration:160});
                });
                //Deslizamiento que muestra completa la leyenda
                $('.boxgrid.captionfull').hover(function(){
                    $(".cover", this).stop().animate({top:'160px'},{queue:false,duration:160});
                }, function() {
                    $(".cover", this).stop().animate({top:'260px'},{queue:false,duration:160});
                });
                //Deslizamiento que muestra parcialmente la leyenda
                $('.boxgrid.caption').hover(function(){
                    $(".cover", this).stop().animate({top:'160px'},{queue:false,duration:160});
                }, function() {
                    $(".cover", this).stop().animate({top:'220px'},{queue:false,duration:160});
                });
            });
//]]>
        </script>




3. Luego, agregar el CSS, yendo al Diseñador de Plantillas en el campo de Añadir CSS:


.boxgrid{

width: 325px; /*ancho de la imagen*/

height: 260px; /*alto de la imagen*/

margin:5px;

float:left;

background:#161613;

border: solid 2px #8399AF;

overflow: hidden;

position: relative;

 }

.boxgrid h3 {

padding: 0;

margin-left: 10px;

color: #fff;

}       

.boxgrid img{

position: absolute;                  

top: 0;                  

left: 0;                  

border: 0;              

}              

.boxgrid p{                  

padding: 0 16px; /*usar solo si se pone en una sección*/

color:#afafaf;                  

font-weight: bold;                  

font-size: 12px;              

}

.boxgrid a {

margin: 0;

padding: 0;

text-decoration: underline;

}                       

.boxcaption{              

float: left;              

position: absolute;              

background: #000;              

height: 100px;              

width: 100%;              

opacity: .8;                          

filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);

top: 0;

left: 0;        

}           

.captionfull .boxcaption {                

top: 260;              

left: 0;            

}           

.caption .boxcaption {                  

top: 220;                  

left: 0;              

}


Claro que puedes personalizar los marcos y fuentes, o hacer cualquier otro cambio en el CSS para adaptarlo.





4. Finalmente lo que falta es el HTML, con las imágenes, textos y enlaces que queremos mostrar, ya sea en una sección de la plantilla, por ejemplo debajo del header, o en una página estática.



Este es el HTML de los 6 ejemplos de la demostración y que puse en una página estática, nótese que agregue el atributo: padding a la etiqueta p, ya que si no tiene atributos cuando se agrega en el editor, desaparecerá y habrá problemas para que se apliquen los estilos. Si lo vas a poner ahí, será necesario quitar del CSS la linea que corresponde al padding,  para dicha etiqueta y que puse de verde.


<!--Deslizamiento que muestra completa la leyenda--><div class="boxgrid captionfull">

<img alt="" src="URL DE LA IMAGEN" />

<div class="cover boxcaption">

<h3>Titulo de la imagen</h3>

<div style="padding-left: 10px;">

Texto aquí<br />

<a href="#" target="_BLANK">Texto Enlace</a></div>

</div>

</div>

<!--
Deslizamiento que muestra parcialmente la leyenda--><div class="boxgrid caption">

<img alt="" src="URL DE LA IMAGEN" />

  <div class="cover boxcaption">

<h3>Título</h3>

<div style="padding-left: 10px;">

Texto aquí<br />

<a href="#" target="_BLANK">Texto enlace</a></div>

</div>

<!--Deslizamiento Horizontal--><div class="boxgrid slideright">

<img alt="" class="cover" src="URL DE LA IMAGEN" />

 <h3>Título</h3>

<div style="padding-left: 10px;">

Texto aquí<br />

<a href="#/" target="_BLANK">Texto enlace</a></div>

</div>

<!--Deslizamiento en Diagonal--><div class="boxgrid thecombo">

<img alt="" class="cover" src="URL de la imagen" />

  <h3>Título</h3>

<div style="padding-left: 10px;">

Texto aquí<br />

<a href="#" target="_BLANK">Texto enlace</a></div>

</div>

<!--
Deslizamiento Vertical--><div class="boxgrid slidedown">

<img alt="" class="cover" src="URL de la imagen" />

           <h3>Título</h3>

<div style="padding-left: 10px;">

Arte, Música, Mundo<br />

<a href="#" target="_BLANK">Texto enlace</a></div>

</div>

<!--
Deslizamiento parcial que muestra una parte del fondo--><div class="boxgrid peek">

<a href="#" target="_BLANK"><img src="URL DE LA IMAGEN PEQUEÑA" /></a><a href="#" target="_BLANK"><img alt="" class="cover" src="URL de la imagen visible" /></a>

            </div>

En donde está el gatito "#" (almohadilla) es donde pones los enlaces respectivamente, y en todo lo demás, y que está de rojo, dice lo que necesitas poner.



IMPORTANTE: Deberás tener en cuenta el ancho y alto de las imágenes, que vienen configuradas como 325 pixeles de ancho por 260 pixeles de alto, y cambiar todos los valores (en el CSS y el código del  paso 2) si vas a usar otra medida.



Debido al éxito de esto, crearon un plugin al que llamaron "Mosaico", es ligero para crear estas animaciones, luego te diré como usarlo, aunque si ya sabes, puedes echar un vistazo y empezar a usarlo si te gusta.



Está explicados de forma general, y de ser necesario publicaré otro post explicando paso a paso como ponerlo en una sección, por ejemplo, debajo de la cabecera.



Siéntete libre de compartir tus ideas e inquietudes. Buen inicio de semana ;)


domingo, 30 de octubre de 2011

Gánate un dominio y un host + radio incluída

¡Nascanetwork Colombia está sorteando entre 5 a 11 dominios con servicio de hosting y radio incluída para los usuarios que se registren en la página! Sin duda es una oportunidad que no se puede dejar pasar.


Las bases del concurso son bastante sencillas:

Para concursar es necesario registrarte en la página de Nascanetwork Colombia, además de incluir un comentario en la entrada del concurso para que así se pueda comprobar que te haz registrado por interés hacia los premios.

Estos son los detalles del sorteo:
  • 1 dominio
  • 1 hosting de 2GB para montar un sitio web
  • 1 Radio
Es importante que sepas que el concurso finaliza el día 1 de Diciembre del presente año, y para que el concurso pueda ser finalizado es necesario llegar a la cantidad de 300 a 400 concursantes, así que puedes aprovechar de invitar a otros al concurso para que se lleve a cabo.

Yahoo! WebPlayer Beta: Audio y video

Hace tiempo, mostraba la forma de usar Yahoo Media Player que no era otra cosa que un reproductor de audio con características interesantes ya que bastaba agregar un script y usar enlaces comunes y corrientes a los archivos de audio para que este los detectara.

Aúnque el viejo modelo sigue funcionando perfectamente, durante este año, Yahoo nos permite utilizar un nuevo reproductor llamado Yahoo! WebPlayer que amplia las posibilidades del anterior ya que ahora incluye la posibilidad de reproducir videos de servicios como YouTube.

Agregarlo a un sitio web es sencillo, basta copiar y pegar el script en nuestra plantilla y ellos recomiendan que se haga justo al final, justo antes de </body&dy>
<script type="text/javascript" src="http://webplayer.yahooapis.com/player-beta.js"></script>
Por defecto, el tema o diseño gráfico tiene tonos oscuros, si se quieren usar tonos claros, hay que agregar un dato extra:
<script type="text/javascript">var YWPParams = { theme: "silver" };</script>
<script type="text/javascript" src="http://webplayer.yahooapis.com/player-beta.js"></script>
Eso es todo, ahora podemos usarlo en cualquier parte ya que, de modo automático, detectará los enlaces donde haya contenido multimedia así que si se pone esto:
<a href="URL_archivo.mp3">un archivo MP3</a>
veremos el enlace con un botón de ejecución y pausa a su izquierda y además, una pestaña que se adosará a nuestra página y que, al desplegarse, nos permite seleccionar entre todos los archivos reconocidos ya que el script genera una lista de reproducción con todos ellos.


Lo mismo ocurrirá con un video de YouTube o de Yahoo:
<a href="http://www.youtube.com/watch?v=uGcDed4xVD4">Earth 100 million years from now</a>
<a href="http://movies.yahoo.com/movie/1810190842/info">Ip Man 2</a>


Agregando parámetros, podemos configurar detalles que cambien los valores por defecto:

autoplay:true reproduce el archivo al cargarse la página
autoadvance:false no reproduce el siguiente archivo de modo automático
displaystate:1 muestra la pestaña desplegada
volume:valor entre 0.0 y 1.0 establece el volumen inicial que por defecto es 0.5
defaultalbumart:'URL_imagen' muestra una miniatura personalizada del video recomiendan imágenes de 205x205 pixeles)

Todas ellas se agregan del msimo modo que el tema; por ejemplo:
<script type="text/javascript">
var YWPParams = {
heme: 'silver',
autoplay:true,
volume:1
};
</script>
Otras opciones pueden ser añadididas directamente como atributos en la etiqueta del enlace:

type="audio/mpeg" define el tipo de archivo multimedia
tabindex="2 establece el orden enque se verán en la lista de reproducción
title="el título de algo" muestra un título personal

Si tenemos varios archivos en la página, podemos hacer que en la lista de reproducción se sólo se muestren alguno de ellos agregandoles class="htrack"
<a href="URL_1" class="htrack">esta se verá</a>
<a href="URL_2">esta NO se verá</a>
<a href="URL_3" class="htrack">esta se verá</a>
Agregando class="noplay" evitamos que ese enlace se agregue a la lista de reproducción:
<a href="URL_4" class="noplay">esta NO se verá</a>
Si queremos que cierto enlace se muestre con una miniatura especial, agregamos una etiqueta IMG y la ocultamos:
<a href="URL_archivo"><img src="URL_imagen" style="display:none" />my song</a>


Aunque, sabiendo que el script genera una etiqueta SPAN para cada enlace y que esa etiqueta tiene una clase llamada ywp-page-play-pause:
<span class="ywp-page-play-pause ywp-link-hover">
<em class="ywp-btn-page-play ywp-page-btn"></em>
<a href="http://www.youtube.com/watch?v=AvLj72apGLI">Nowhere Man Film</a>
</span>
nada impide jugar un poco y hacer exactamente lo contrario, mostrar la miniatura y ocultar el texto:


sábado, 29 de octubre de 2011

Circus: Cinco íconos para divertirse

Circus by Joker
Contiene 5 íconos de 256x256, en formato PNG.
descargar

Decora tu blog en Halloween



Halloween es una plantilla para Blogger que resulta divertida y muy indicada para estas fechas, la descarga es gratuita y es una aportación de reinventaWEB

En su diseño se han utlizado las fuentes de Google, resultan muy llamativos los efectos conseguidos creados todos con CSS (véase título y enlaces)

En la página principal la sidebar queda oculta, tiene un footer dividido en tres columnas y no utiliza ninguna clase de scripts. Es fácilmente personalizable.

El ZIP contiene la plantilla en formato XML y una copia de todas las imágenes necesarias.


Si no queremos cambiar de plantilla pero si decorar nuestro PC podemos lucir un wallpaper de Wallpapers a full  los encontraremos muy originales y atrevidos. 

Referencia y Descarga

No busquemos iconos muy bellos porque la ocasión los requiere horrorosos y si son simpáticos como estos de Free Icons Web mucho mejor.


Referencia y Descarga

viernes, 28 de octubre de 2011

Marcadores sociales con efecto para Blogger

Gracias a las transiciones CSS3 y a la técnica de CSS Sprites he conseguido crear estos llamativos marcadores sociales para Blogger. Anteriormente vimos la forma de insertar unos marcadores básicos, pero estos están un poco mejor elaborados y se verán más llamativos en sus blogs.

Vista previa de los bookmarks:


En esta entrada los marcadores NO tienen función ya que estos trabajan con el atributo expr y en una entrada es imposible de añadir.

El Tutorial:

Paso 1: Añadiendo los estilos:

En "Diseño | Edición HTML" deberás buscar la siguiente línea:
]]></b:skin>
Arriba de ésta pega el siguiente código:

#marcadores-sociales {
width:420px;
border:1px solid #d2d2d2;
background:#2facd6;
padding:4px;
height:40px;
margin:0 auto;
}
.social-css-iconos {
width:32px;
height:32px;
margin:3px;
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
-o-transition:0.5s;
transition: 0.5s;
cursor:pointer;
}

.primericono{
background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3DXq88lDnaXUe6t8nTG-NRdY34f2GZp_vvQMylb1hGc8ldrbswkDVCc-TEOFF4D3_qeUG4Rq3fiL6TtTbCKBA8uVMsQmM5oEolRpAzOUUFfsAqNhzEyFRikt7m3PWo_PBsVk2SN_k4T0/s1600/twitter.png) 0 -32px no-repeat;
float:left;
}

.primericono:hover{
background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3DXq88lDnaXUe6t8nTG-NRdY34f2GZp_vvQMylb1hGc8ldrbswkDVCc-TEOFF4D3_qeUG4Rq3fiL6TtTbCKBA8uVMsQmM5oEolRpAzOUUFfsAqNhzEyFRikt7m3PWo_PBsVk2SN_k4T0/s1600/twitter.png) 0 0px no-repeat;
}

.segundoicono{
background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18ApUTo8ZhtVnzJ5v0MsUa7Q2AhXuGUbvL6eMH6r7vZNcOz3y_9bMjOfGCiP9j29DlALI-BviwDLZrSKtCbLtrFHMTMe0DmyehOCgNmtmqL_p0W_60A1kMS5h-1jNj-s_k9LKFgS47zk/s1600/facebook.png) 0 -32px no-repeat;
float:left;
}

.segundoicono:hover{
background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg18ApUTo8ZhtVnzJ5v0MsUa7Q2AhXuGUbvL6eMH6r7vZNcOz3y_9bMjOfGCiP9j29DlALI-BviwDLZrSKtCbLtrFHMTMe0DmyehOCgNmtmqL_p0W_60A1kMS5h-1jNj-s_k9LKFgS47zk/s1600/facebook.png) 0 0px no-repeat;
}
.tercericono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnaUO7E77KOTjiuxisACvjvV-mvut0RDjVSM0ELO6BAc8KTAw62T49KbXUIbSmU3wGpyL6h87ZiLyTZ-XtT0oMsCdXN8A9aX_1bnnZsUVANHnE1q8RXYQ78GMA5RFVreiLHLQIQMcf0Gs/s1600/blogger.png) 0 -32px no-repeat;
float:left;
}

.tercericono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnaUO7E77KOTjiuxisACvjvV-mvut0RDjVSM0ELO6BAc8KTAw62T49KbXUIbSmU3wGpyL6h87ZiLyTZ-XtT0oMsCdXN8A9aX_1bnnZsUVANHnE1q8RXYQ78GMA5RFVreiLHLQIQMcf0Gs/s1600/blogger.png) 0 0px no-repeat;
}

.cuartoicono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK5gVmC41My3gJMbPtOggWMtqbmQh0jnlQUmU6JmD3JgXKKbpM7lIUUKUVDhMe5O6-n76KTbPYU-o-qsHEPe64y3LUTrmYMgTi3dw9Y7n5ohPcdGg_yzXXBaHVohMO2yt_plyL8oJBak8/s1600/myspace.png) 0 -32px no-repeat;
float:left;
}

.cuartoicono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK5gVmC41My3gJMbPtOggWMtqbmQh0jnlQUmU6JmD3JgXKKbpM7lIUUKUVDhMe5O6-n76KTbPYU-o-qsHEPe64y3LUTrmYMgTi3dw9Y7n5ohPcdGg_yzXXBaHVohMO2yt_plyL8oJBak8/s1600/myspace.png) 0 0px no-repeat;
}

.quintoicono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBRM06GowOdAce5hFfitew4GKwvj-iaE68sH9DmEOsJ2cpDNPxX-URl9_u-l_gYLrgSEUJCeU_noLFzYuwHb6ax9uXw1Xn6h241lqws8Q7MAZhVaRUspOcIkwDAh0ByUQqFRaKy08F6HQ/s1600/delicious.png) 0 -32px no-repeat;
float:left;
}

.quintoicono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBRM06GowOdAce5hFfitew4GKwvj-iaE68sH9DmEOsJ2cpDNPxX-URl9_u-l_gYLrgSEUJCeU_noLFzYuwHb6ax9uXw1Xn6h241lqws8Q7MAZhVaRUspOcIkwDAh0ByUQqFRaKy08F6HQ/s1600/delicious.png) 0 0px no-repeat;
}

.sextoicono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSaE_PgTwtO4CUvK3y14azzQrcAQ-CcRzDPHHjqXQaO08wrBnJ2s8g8w2nMUJN0B1cBwhuekXHYBwZ_vXbFMZXtuKHmoXC6lgdViszgRu6d31S8KzargOy1VUdLT_EQqQp7Ev6Q3GpFmY/s1600/yahoo.png) 0 -32px no-repeat;
float:left;
}

.sextoicono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSaE_PgTwtO4CUvK3y14azzQrcAQ-CcRzDPHHjqXQaO08wrBnJ2s8g8w2nMUJN0B1cBwhuekXHYBwZ_vXbFMZXtuKHmoXC6lgdViszgRu6d31S8KzargOy1VUdLT_EQqQp7Ev6Q3GpFmY/s1600/yahoo.png) 0 0px no-repeat;
}

.septimoicono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHuVKQvtai2kjuW8pPJ55wNEBBIm2BDXEKy-50bigMWU75Zf84EsYqeNZPn9SMMzvU4_tBgS2SqZty2Vwgs91VCr1fb3W2Vgcb18vZrnQpGvgNI9Knulb9uUAylAqqYHI7TlPBO9djDFk/s1600/stumbleupon.png) 0 -32px no-repeat;
float:left;
}

.septimoicono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHuVKQvtai2kjuW8pPJ55wNEBBIm2BDXEKy-50bigMWU75Zf84EsYqeNZPn9SMMzvU4_tBgS2SqZty2Vwgs91VCr1fb3W2Vgcb18vZrnQpGvgNI9Knulb9uUAylAqqYHI7TlPBO9djDFk/s1600/stumbleupon.png) 0 0px no-repeat;

}

.octavoicono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFigV3_WjtyeGMMzvpzXEt67AJJqNnmt-ilzOB2NJZhR7umUeRuvxKgUSG0rVxZjLj5zO3ZTF0P_2oC7Ojnf4kFQqES_TqMHIKt7gNK7FNQFijx6nWZy4RR_1sSKUcXXHwRtGM4H2Kxjo/s1600/reddit.png) 0 -32px no-repeat;
float:left;
}

.octavoicono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFigV3_WjtyeGMMzvpzXEt67AJJqNnmt-ilzOB2NJZhR7umUeRuvxKgUSG0rVxZjLj5zO3ZTF0P_2oC7Ojnf4kFQqES_TqMHIKt7gNK7FNQFijx6nWZy4RR_1sSKUcXXHwRtGM4H2Kxjo/s1600/reddit.png) 0 0px no-repeat;

}

.novenoicono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFYttUW7fP9gWGm4Q9bybDf0I7lgZDu61bAJfzA-fgqbjhU8Vc904UclkegNm_c2zetkXCksdd9nI4WPkyfrh3l9FpWU9ODdfav3VjBE93ZS_h3eGc-LsSFkw_gM1HvQah80kqQtgayAI/s1600/digg.png) 0 -32px no-repeat;
float:left;
}

.novenoicono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFYttUW7fP9gWGm4Q9bybDf0I7lgZDu61bAJfzA-fgqbjhU8Vc904UclkegNm_c2zetkXCksdd9nI4WPkyfrh3l9FpWU9ODdfav3VjBE93ZS_h3eGc-LsSFkw_gM1HvQah80kqQtgayAI/s1600/digg.png) 0 0px no-repeat;
}


.decimoicono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsy39i0aMuTRmTkMnZ5D2aC5iEK7nEqZ0Ji9peLyFviqcmiHO7DyP7qbnUBZ9cUFxoaCGr5OQCMcPruMF04xT8ui1YkTdDRuOkF1WRGB2OOHVqj4VYMNN4Qg-Qz3sXJrIE3oK_8GmC8o0/s1600/technorati.png) 0 -32px no-repeat;
float:left;
}

.decimoicono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsy39i0aMuTRmTkMnZ5D2aC5iEK7nEqZ0Ji9peLyFviqcmiHO7DyP7qbnUBZ9cUFxoaCGr5OQCMcPruMF04xT8ui1YkTdDRuOkF1WRGB2OOHVqj4VYMNN4Qg-Qz3sXJrIE3oK_8GmC8o0/s1600/technorati.png) 0 0px no-repeat;

}


.undecimoicono{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht3_w_fbhSL73nBI9mCF4nzedY9tstswmAp-dNZLXszfIunlYQp9uA71bJbWuQgbeJC-_CMyqddlCof1_0WefvL0Wx14W6vVuCx-CYrhyNPdy-2FOHbqzFTjPcrUc9_JoBF0LRN-yRaFs/s1600/bitacoras.png) 0 -32px no-repeat;
float:left;
}

.undecimoicono:hover{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht3_w_fbhSL73nBI9mCF4nzedY9tstswmAp-dNZLXszfIunlYQp9uA71bJbWuQgbeJC-_CMyqddlCof1_0WefvL0Wx14W6vVuCx-CYrhyNPdy-2FOHbqzFTjPcrUc9_JoBF0LRN-yRaFs/s1600/bitacoras.png) 0 0px no-repeat;
}

Guarda los cambios y listo.

Paso 2: Añadiendo los marcadores:

Marca ahora la casilla "Expandir plantillas de artilugios". En donde deberás buscar la siguiente línea en tu plantilla:

<div class='post-footer-line post-footer-line-1'>
Debajo de ésta pega el siguiente código:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id="marcadores-sociales">

<a class="social-css-iconos primericono" expr:href='&quot;http://twitter.com/home?status=&quot; + data:post.title + &quot;: &quot; + data:post.url' rel='nofollow' target='_blank' title='Twittear'></a>

<a class="social-css-iconos segundoicono" expr:href='&quot;http://www.facebook.com/sharer.php?u=&quot; + data:post.url+ &quot;&amp;title=&quot; + data:post.title' rel='nofollow' target='_blank' title='Compartir en Facebook'></a>

<a class="social-css-iconos tercericono" expr:href='&quot;http://www.blogger.com/blog_this.pyra?t&amp;u=&quot; + data:post.url + &quot;&amp;n=&quot; + data:post.title + &quot;&amp;pli=1&quot;' rel='nofollow' target='_blank' title='Compartir en Blogger'></a>

<a class="social-css-iconos cuartoicono" expr:href='&quot;http://www.myspace.com/Modules/PostTo/Pages/?u=&quot; + data:post.url + &quot;&amp;t=&quot; + data:post.title ' rel='nofollow' target='_blank' title='Compartir en Myspace'></a>

<a class="social-css-iconos quintoicono" expr:href='"http://del.icio.us/post?url=" + data:post.url + "&amp;title=" + data:post.title' rel='nofollow' target='_blank' title='Delicious'></a>

<a class="social-css-iconos sextoicono" expr:href='"http://myweb2.search.yahoo.com/myresults/bookmarklet?url" + data:post.url + "&amp;title=" + data:post.title' rel='nofollow' target='_blank' title='Yahoo!'></a>

<a class="social-css-iconos septimoicono" expr:href='&quot; http://www.stumbleupon.com/submit?url=&quot; + data:post.url + &quot;&amp;title=&quot; + data:post.title' rel='nofollow' target='_blank' title='Stumbleupon'></a>

<a class="social-css-iconos octavoicono" expr:href='&quot; http://www.reddit.com/submit?url=&quot; + data:post.url + &quot;&amp;title=&quot; + data:post.title' rel='nofollow' target='_blank' title='Reddit'></a>

<a class="social-css-iconos novenoicono" expr:href='&quot; http://digg.com/submit?url=&quot; + data:post.url + &quot;&amp;title=&quot; + data:post.title' rel='nofollow' target='_blank' title='Digg This'></a>

<a class="social-css-iconos decimoicono" expr:href='&quot; http://technorati.com/faves?add=&quot; + data:post.url + &quot;&amp;title=&quot; + data:post.title' rel='nofollow' target='_blank' title='Technorati'></a>

<a class="social-css-iconos undecimoicono" expr:href='"http://bitacoras.com/anotaciones/" + data:post.url' rel="nofollow" target="_blank" title="Votar en Bitácoras"></a>

</div> </b:if>

Guarda los cambios y listo.

Importante:

La estructura de un ícono es así:

Si deseas crear un nuevo marcador deberás conocer cómo trabaja la red social o servicio a integrar, y además será necesario asignar una clase con los valores de posición del sprite. Si no puedes insertar otro servicio puedes mencionarlo en algún comentario y yo mismo integro los marcadores.

Actualización:

He incluído un nuevo botón (Bitácoras), así que es necesario reemplazar los códigos por los actualizados para evitar conflictos.

jueves, 27 de octubre de 2011

jCodeCollector: Guardar códigos de modo ordenado

jCodeCollector es un pequeño programa que funciona tanto en Windows como en Mac y Linux y que nos permite almacenar y tener ordenados snippets, es decir, porciones de códigos de todo tipo que uno va acumulando a lo largo de los años y que suelen quedar desperdigados por toda nuestra PC, escondidos, perdidos en alguna carpeta cosa que no los encontremos cuando los necesitamos.

El programa no sólo permite agregarlos sino también ordenarlos en distintas secciones, agregarles etiquetas o comentarios y posee un buscador interno que nos facilita encontrarlos.

De modo automático, reconoce distintos lenguajes (CSS, HTML, SQL, PHP, JavaScript, etc) y muestra los códigos con la sintaxis resaltada en diferentes colores, lo que incluso, hace que sea fácil encontrar errores y solucionarlos.

miércoles, 26 de octubre de 2011

liteAccordion: Un acordeón para jQuery

liteAccordion es un pequeño plugin para JQuery que nos permite agregar acordeones donde se mostrarán imágenes, animándolas con distintos efecto que funcionarán en cualquier navegador, incluyendo Internet Explorer 8.

El demo completo podemos descargarlo desde github pero para agregarlo a un sitio, sólo necesitamos dos archivos: liteaccordion.jquery.js y liteaccordion.css. Entonces, primero agregamos jQuery antes de </head> si es que no la tenemos:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
Luego, el script con el plugin:
<script src="URL_liteaccordion.jquery.js"></script>
o lo agregamos directamente en al plantilla, copiando y pegando el contenido de ese archivo:
<script type='text/javascript'>
//<![CDATA[
....... aquí pegamos el contenido del archivo liteaccordion.jquery.js .......

//]]>
</script>
Por último, el estilo, del mismo modo:
<style>
....... aquí pegamos el contenido del archivo liteaccordion.css .......
</style>
Eso es todo; ahora, hay que crear el HTML allí donde quisiéramos utilizarlo:
<div id="miejemplo" class="accordion">
<ol>

<!-- cada una de las pestaña -->
<li>
<h2><span>Pestaña UNO</span></h2>
<div>
<!-- el demo original usa etiquetas de HTML5 pero, el contenido puede ser cualquier otra -->
<span class="figure">
<img src="URL_imagen1" />
<span class="figcaption">un texto optativo</span>
</span>
</div>
</li>

</ol>
</div>


Podemos activarlo colocando el llamado a la función debajo de eso o bien, con el resto de los scripts siempre y cuando nos aseguremos que se ejecute cuando la pagina se haya cargado, estableciendo en ese llamdo, las opciones :
<script>
$(document).ready(function(){
$('#miejemplo').liteAccordion({
onActivate : function() { this.find('span').fadeOut(); },
slideCallback : function() { this.find('span').fadeIn(); },
autoPlay : true, pauseOnHover : true, theme : 'dark', rounded : true, enumerateSlides : true
}).find('span:first').show();
});
</script>
Algunas de las opciones se agregan ahí y otras en el plugin mismo donde, por ejemplo, se define el ancho y alto:

containerWidth : 600 // ancho total
containerHeight : 350 // alto total
headerWidth : 48 // ancho delas pestañas cerradas
firstSlide : 1 // el número de la primer pestaña activa
slideSpeed : 800 y cycleSpeed : 6000 // velocidad de la animación
rounded : false // si no se quieren bordes redondeados
enumerateSlides : false // muestra u oculta un número en cada pestaña
theme : 'basic' // el tema CSS que puede ser 'basic', 'light', 'dark', o 'stitch'

Esto ultimo, también puede ser modificado ... con paciencia y si se usan textos, habría que agregarle propiedades extras como:
span.figure {
display: block;
height: 100%;
margin: 0;
width: 100%;
}
span.figcaption {
background: #000;
background: rgba(0,0,0,0.7);
border-radius: 4px;
bottom: 20px;
color: #FFF;
padding: 10px 15px;
position: absolute;
right: 30px;
z-index: 3;
}

Galería Horizontal con gadget de Entradas Populares con Título Deslizante (Tooltip)

Hace tiempo te decía como crear una galería de imágenes usando el gadget de entradas populares que ofrece Blogger, hoy vamos a crear una galería horizontal con ese gadget, y vamos a hacer que aparezca el título de la entrada en un tooltip.



Esto surge, porque estoy trabajando en una plantilla de recetas de cocina, (espérala muy pronto), y estaba pensando en incluirla, y hacerla mas funcional, mostrando el título de la entrada al poner el puntero del ratón encima de la imagen miniatura.



Inicialmente lo hice usando sólo CSS, y no queda tan mal, pero no tenía movilidad el tooltip, que es donde iría el título, así que mejor decidí probar un tooltip que funciona con jQuery, que exponen en el blog de Soh Tanaka, pensando en que ya  uso jQuery en la plantilla para otros propósitos.



Así es como luce:




configuracion de gadget de entradas populares



Anque puedes ver como funciona en la plantilla que te menciono, y que pronto estará lista para ser descargada.¿Te gusta?, entonces veamos como hacerlo.



Antes de empezar necesitas agregar el gadget de entradas populares, y marcar la opción de imagen en miniatura, sin el fragmento, y elegir el número de entradas a mostrar...




Galeria de imagenes con gadget de entradas populares



Hecho eso, entonces, empecemos con la personalización...



Como hacerlo paso a paso



Paso 1. Primero necesitamos agregar los estilos o CSS y para ello, vas a Diseño > Diseñador de Plantillas > Avanzado  y en el campo para Añadir CSS agregas lo siguiente:


#PopularPosts2 {

margin: 10px;

}

#PopularPosts2 h2{

display: none;

}

#PopularPosts2 ul {

width: 100%;

margin: 0;

}

#PopularPosts2 .item-title{

display: none;

}

#PopularPosts2 ul li {

float:left;

list-style-type: none;

padding: 0 5px 0 4px;

}

#PopularPosts2 li img {

background: #fff;

padding: 4px;

transition: all .5s linear; /*Transiciones*/

-o-transition: all .5s linear;

-moz-transition: all .5s linear;

-webkit-transition: all .5s linear;

}

.tip { /*Tooltip */

color: #fff;

background:#120b01;

display:none;

padding:10px;

position:absolute;

z-index:99;

-webkit-border-radius: 3px;

-moz-border-radius: 3px;

border-radius: 3px;

}

#PopularPosts2 li img:hover, .tip {

opacity:.6;

filter:alpha(opacity=60);

}

/*Para evitar el subrayado del texto del tooltip si se tuviera declarado en todos los enlaces*/

a.tip_trigger:hover {

text-decoration: none;

}


Lo que está marcado de azul, es opcional, la primera parte donde dice transiciones, es para crear efecto de desvanecimiento en la opacidad de la imagen en el hover, la segunda es para darle transparencia al fondo del tooltip, y la imagen, y la tercera para evitar que se subraye el texto del tooltip, cuando esté declarado en la plantilla en el hover de todos los enlaces, me refiero a esto:



a:hover {

...

text-decoration: underline;

}



Importante: Si es tu primer gadget de entradas populares el ID es #PopularPosts1, recuerda que Blogger los va numerando conforme los vas agregando.



Paso 2. Luego, vas a la edición de HTML de la plantilla, marcas la casilla de expandir plantilla de artilugios, y si no tienes jQuery lo agregas antes de </head>:


<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js' type='text/javascript'/>

Paso 3. Inmediatamente después pones el script:


<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
//Tooltips
$(".tip_trigger").hover(function(){
tip = $(this).find('.tip');
tip.show();
}, function() {
tip.hide();
}).mousemove(function(e) {
var mousex = e.pageX + 20;
var mousey = e.pageY + 20;
var tipWidth = tip.width();
var tipHeight = tip.height();

var tipVisX = $(window).width() - (mousex + tipWidth);
var tipVisY = $(window).height() - (mousey + tipHeight);

if ( tipVisX < 20 ) {
mousex = e.pageX - tipWidth - 20;
} if ( tipVisY < 20 ) {
mousey = e.pageY - tipHeight - 20;
}
tip.css({ top: mousey, left: mousex });
});
});
//]]>
</script>



Paso 4. Después, buscas la parte que controla el gadget de entradas populares, cuando este sólo muestra imágenes, y que se ve de este modo:



<!-- (3) Show only thumbnails -->

            <div class='item-thumbnail-only'>

              <b:if cond='data:post.thumbnail'>

                <div class='item-thumbnail'>

                  <a expr:href='data:post.href' target='_blank'>

                    <img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>

                  </a>

                </div>





...y lo cambias por esto:


<!-- (3) Show only thumbnails -->

            <div class='item-thumbnail-only'>

              <b:if cond='data:post.thumbnail'>

                <div class='item-thumbnail' style='width: 72px; height: 72px;'>

                  <a class='tip_trigger' expr:href='data:post.href' target='_blank'>

                    <img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/><span class='tip'><data:post.title/></span>

                  </a>

                </div>

Eso debería quedar antes del cierre de la condición: </b:if>, si no quieres que la entrada se abra en una ventana nueva, elimina lo que está de morado.





Paso 5.Verifica en vista previa, y si todo luce bien, guarda los cambios.



Listo, ya tienes un tooltip que muestra el título de la entrada de cada post respectivamente, en la galería de imágenes que muestra tus artículos más visitados =)



Notas



Como ya está implementado el tooltip, lo puedes usar en cualquier otro enlace de tu blog, ya sea para ponerlo en  imágenes que tengan enlace como en este caso, o bien, sólo en un enlace, y este es el HTML que necesitas:



Para un enlace:




<a href="#" class="tip_trigger">El texto del enlace<span class="tip">El contenido del tooltip</span></a>

Para una imagen:




<a href="#" class="tip_trigger"><img src="URL de la imagen" alt="" /><span class="tip">El contenido del tooltip</span></a>

Así de fácil y rápido ;)



*Actualizado



Marca de agua en las imágenes con CSS

Una marca de agua es un logo dentro de una imagen la cual permite mostrar algún tipo de atribución en cada imagen. En esta oportunidad veremos cómo hacerlas sin necesidad de recurrir a modificar las imágenes.

El resultado será similar a este:





El tutorial:

¿Cómo Funciona?

Para insertar una marca de agua automática es necesario entender su forma de funcionar. Se inserta un contenedor con un color #000 (Negro) que contenga además la imagen con un texto blanco. Las imágenes no tendrán todas la opacidad (Por defecto un 90%) y por lo tanto se podrá apreciar la marca de agua. El color negro permite que la imagen se previsualice sin perder la opacidad inicial de ésta.


Paso 1: Añadiendo los estilos:

En "Diseño | Edición de HTML" deberás buscar el siguiente código:
]]></b:skin>

Arriba de este deberás pegar el siguiente:
.marca-de-agua {
    background: #000 url(URL-MARCA-DE-AGUA);
    width: 500px;
    height: 341px;
    margin: 0 auto;
    display: block;
    position: relative;
}

.marca-de-agua img{
    padding:0;
    width:100%;
    height:100%;
    margin:0;
    filter:alpha(opacity=90);
    opacity:.90;
}
Guarda los cambios y listo.

Paso 2: Usando la marca de agua:

En "Edición de HTML" de la entrada, deberás pegar el siguiente código:
<div class="marca-de-agua" style="width:370px !important; height:278px !important;">
<img alt="" src="URL-IMAGEN" /></div>

Eso es todo.

Importante:

  • Para cambiar el tamaño de la imagen es necesario modificar la del contenedor reemplazando los valores width y height destacados en el código anterior (La imagen toma el alto y ancho del contenedor, así evitamos que queden espacios en negro).
  • Puedes tomar la imagen que utilicé como marca de agua como ejemplo para ajustar la distancia correctamente y no se vea la marca de agua muy repetida (Clic aquí).
  • Si no deseas que la marca de agua se repita deberás editar el valor .marca-de-agua del primer paso de la siguiente forma:

.marca-de-agua {
    background: #000 url(URL-MARCA-DE-AGUA) no-repeat bottom right;
Con este código la marca de agua se mostrará en la esquina inferior derecha, puedes reemplazar bottom por top para que la imagen se muestre arriba; y right por left para que la imagen cambie de derecha a izquierda.