Pluralink: Un enlace con varios enlaces

JMiur [E]

Pluralink es un curioso script para JQuery que permite generar un enlace con varios en su interior:


Por supuesto, primero debemos tener agregada la librería en nuestra plantilla:
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.2");
</script>
Luego, podemos descargar el script y alojarlo nosotros o bien usar el código que ellos nos brindan, incluyendo hacks para Internet Explorer y el CSS correspondiente:

<script type="text/javascript" src="http://pluralink.com/files/pluralink.js"></script>
<link rel="stylesheet" href="http://pluralink.com/files/pluralink.css" type="text/css" media="screen" />
<!--[if IE]>
<link rel="stylesheet" href="http://pluralink.com/files/pluralink_ie.css" type="text/css" />
<![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" href="http://pluralink.com/files/pluralink_ie6.css" type="text/css" />
<![endif]-->
Para aplicarlo a nuestros enlaces, basta separar las direcciones URL y los títulos con una doble barra vertical ||
<a href="URL_pagina1||URL_pagina2" title="titulo_pagina1||titulo_pagina2"> TEXTO O IMAGEN </a>
En el caso de usar Wordpress, hay un plugin que puede ser agregado y que podemos descargar en formato ZIP

Los tiempos cambian






REFERENCIAS:WebAppers

Surtido de íconos

Aplicaciones
Contiene 78 íconos de 16x16, 32x32 y 48×48, en formato PNG.descargar
Folders
Contiene 9 íconos de 500×500, en formato PNG y 84 en formato ICO.descargar
Oficina
Contiene 50 íconos de diferentes tamaños, en formato PNG.descargar
Systema
Contiene 111 íconos de 128x128 en formato PNG.descargar

NES emulator en JavaScript

Javascript NES emulator es una curiosidad; un intento de crear un emulador de estos juegos que fueron y siguen siendo tan populares.

Según nos dicen, para probarlo se requiere una computadora rápida y un navegador de última generación pero, yo le agregaría una conexión rápida y mucha pero mucha paciencia.

El proyecto está abierto y puede ser descargado desde Github. Como verán, no es nada simple.


De todas maneras, si alguien se queda con ganas de rememorar viejos tiempos, lo mejor es recurrir a algún emulador como ZNes del cual hay versiones que hasta funcionan en el DOS y que se instala muy facilmente.

Obviamente, luego habrá que buscar las ROMs de los juegos pero, hay cientos de sitios desde donde descargarlas.

El efecto bubble

En aext.net nos muestran dos formas de crear el efecto burbuja en los enlaces, es decir, que cuando coloquemos el cursor sobre un enlace con una imagen, esta se amplie. Entre ambos, me quedo con el de los sprites ya que es la técnica que me parece más adecuada y la que menos recursos requiere; sólo necesitamos una imagen y un poco de CSS.

En este ejemplo, esa imagen tiene 300x600 y es un rectángulo dividido en sectores de 150x150, por lo tanto cada imagen la podemos ubicar con un poco de aritmética.


Veamos el CSS:
#bubble { /* el contenedor que en este caso será una lista */
list-style: none;
margin: 0;
padding: 0;
}
#bubble li { /* cada item de esa lista */
display: inline-block; /* o usar float:left si se quiere que sea compatible con versiones anteriores a IE8 */
margin: 0;
padding: 0;
}
#bubble li a.icon { /* una clase general para los items, donde agregamos el sprite */
background: url(URL_imagen) no-repeat;
border: none;
display: block;
height: 150px; /* el alto de cada sector */
text-indent: -9999px; /* la ocultamos */
width: 150px; /* el ancho de cada sector */
}

/* ahora, posicionamos el fondo para cada item y para su efecto hover */

#bubble li a.demoBubble1 { background-position: -150px 0px; }
#bubble li a.demoBubble1:hover { background-position: 0px 0px; }

#bubble li a.demoBubble2 { background-position: -150px -150px; }
#bubble li a.demoBubble2:hover { background-position: 0px -150px; }

#bubble li a.demoBubble3 { background-position: -150px -300px; }
#bubble li a.demoBubble3:hover { background-position: 0px -300px; }

#bubble li a.demoBubble4 { background-position: -150px -450px; }
#bubble li a.demoBubble4:hover { background-position: 0px -450px; }
¿Cómo lo usamos? Creando una lista:
<ul id="bubble">
<li><a class="icon demoBubble1" href="javascript:void(0);">demoBubble1</a></li>
<li><a class="icon demoBubble2" href="javascript:void(0);">demoBubble2</a></li>
<li><a class="icon demoBubble3" href="javascript:void(0);">demoBubble3</a></li>
<li><a class="icon demoBubble4" href="javascript:void(0);">demoBubble4</a></li>
</ul>
Aunque siempre es mejor usar imágenes específicas, basta hacer cuentas para usar esta misma técnica y mostrar algo diferente. Por ejemplo, algo similar al llamado Sexy Bookmarks:


Sobre el uso de los sprites

¿Será más rápido cargar una imagen grande o varias imágenes pequeñas?

No es una pregunta retórica, durante mucho tiempo, siempre se ha creido lo segundo y de hecho, la técnica del slice, partir una imagen en pedazos y cargar cada parte por separado, es algo que incluso poseen varios editores de imágenes como Photoshop o Fireworks.

Sin embargo, de un tiempo a esta parte, la idea ha ido cambiando y en estos momentos, hay una tendencia a lo contrario, al uso de los llamados sprites, es decir combinar varias imágenes en un solo archivo y luego, utilizar CSS para mostrarlas (más información)

¿Cómo hacemos esto? Es simple, sólo necesitamos un poco de aritmética.

Por ejemplo, supongamos que tengo tres íconos de 16x16 que quiero mostrar como enlaces y cada uno de ellos, tiene un efecto hover; necesitaría seis imágenes individuales. Las combino con un editor, poniendo una al lado de la otra y creo una sola imagen que tendrá 48x32:


En la fila superior tengo los tres íconos en estado "normal" (los que veré por defecto) y abajo los tres que mostraré cuando pase el mouse sobre ellos.

La propiedad background nos permite colocar una imagen de fondo y posicionarla, es decir, que si dimensionamos algo, podemos agregarle un fondo de mayor tamaño y  sólo mostrar una parte de esa imagen. Creamos unas clases CSS para que se vea el ejemplo:
/* las propiedades generales */
a.iconos {
background:transparent url(URL_IMAGEN) no-repeat 0px 0px;
display: block;
height: 16px;
width: 16px;
}

/* las propiedades de cada uno de los íconos */
a.icono1 {background-position: 0px 0px;}
a.icono2 {background-position: -16px 0px;} /* desplazamos la imagen 16 pixeles a la izquierda */
a.icono3 {background-position: -32px 0px;} /* desplazamos la imagen 32 pixeles a la izquierda */

/* las propiedades de los íconos con efecto hover */
/* de manera similar, desplazamos la imagen a la izquierda y 16 pixeles hacia arriba */
a.icono1:hover {background-position: 0px -16px;}
a.icono2:hover {background-position: -16px -16px;}
a.icono3:hover {background-position: -32px -16px;}


Lo mismo podemos hacer inline, escribiendo el estilo en la etiqueta HTML. Ene ste ejemplo usamos una imagen de 96x170 pixeles donde se combinan dos, una debajo de la otra:

En este ejemplo, usamos dos imágenes de 96x85 combinadas:
<div 
style="background: transparent url(URL_IMAGEN) no-repeat 0px 0px; cursor:pointer; height: 85px; margin: 0 auto; width: 96px;"
onmouseover="this.style.backgroundPosition='0px -85px';"
onmouseout="this.style.backgroundPosition='0px 0px';"
></div>


La posición se define en pixeles, primero la coordenada horizontal y luego la coordenada vertical. La posición 0px 0px es la esquina superior izquierda, y el desplazamiento lo calculamos sumando los anchos y/o los altos de cada parte y colocándo ese valor como un número negativo.

¿Cuál es la ventaja? Fundamentalmente, cuando se trata de íconos con efectos hover, evitamos la demora que se produce cuando se carga la segunda imagen; al ser una sola, siempre está disponible y eso agiliza la visualizacion de las páginas.

Obviamente, no es algo para aplicar en cualquier caso y siempre hay que tener en cuenta que el tamaño de las imágenes es un detalle a tener muy en cuenta cuando se trata de velocidades de carga pero, es un método efectivo y muy recomendable.