Menú Rollover con CSS y una sola imagen

La facilidad con la que se pueden diseñar distintos tipos de rollovers en CSS nos ha facilitado el trabajo, ya no es necesario incluir código javascript ni crear distintas imágenes para poder hacer un menú atractivo y prolijo, sin embargo, hasta el momento no es común encontrar artículos que traten sobre el background-position en la creación de rollovers con CSS

En este artículo – tutorial vamos a crear un menú que cambia de color cuando posamos el mouse sobre él (a:hover) y cuando lo presionamos (a:visited), con tan solo un archivo de imagen.

.Menú rollover con CSS y una sola imagen

 La ventaja de este original menú consiste en su simplesa, pues con unas pocas líneas de código podemos crear un menú con tantos botones como quisieramos.

La facilidad con la que se pueden diseñar distintos tipos de rollovers en CSS nos ha facilitado el trabajo, ya no es necesario incluir código javascript ni crear distintas imágenes para poder hacer un menú atractivo y prolijo, sin embargo, hasta el momento no he podido leer ningún artículo que trate del background-position en la creación de rollovers.

En este artículo – tutorial vamos a crear un menú que cambia de color cuando posamos el mouse sobre él (a:hover) y cuando lo presionamos (a:visited), con tan sólo un archivo de imagen.

La ventaja de este original menú consiste en su simplesa, pues con unas pocas líneas de código podemos crear un menú de un sólo botón web ó con tantos botones como quisieramos.

Creación de la Imagen

Lo primero es crear la imagen que escalaremos con el css, para esto utilizamos cualquier editor de imágenes, en este caso estoy usando Fireworks MX 2004 y con tan sólo un par de minutos ya esta creada la imagen.

Lo importante de la creación de este archivo es la delimitada alineación de las imagenes y el margen de unas con otras, debemos tomar nota de sus posiciones y tamaños, esto es muy importante pues con el css lo que haremos es escalar este archivo para mostrar sólo la parte de la imagen que nos interesa.

Para el ejemplo, estas son las medidas:

Ancho del Lienzo: 200px
Alto del Lienzo: 108px
Ancho de cada botón: 196px
Alto de cada botón: 32px
Borde de cada botón: 1px
Espacio superior, inferior, izquierdo, derecho y entre cada botón: 2px

Desde luego esto depende del gusto de cada uno.

Luego de haber diseñado el archivo lo exportamos como gif con fondo transparente.

Diseño del Background

Creación del Rollover con CSS

En que consiste nuestro diseño, primero en eliminar los estilos, márgenes y relleno propios de toda lista xhtml, luego definir cada item de la lista como bloque, pues sólo se puede determinar la posición de un background cuando se aplica a un bloque, y finalmente, aplicar el background-position del a:hover y del a:active, pues del a:link ya lo estamos limitando con el height y padding de cada item. El resto es simplemente definir el texto, lo que en realidad importa, como dije antes, es saber los píxeles de la imagen para poder escalarla.

/* Primero definimos el añcho de la capa, que debe ser del ancho del lienzo: */
#menu {
width: 170px;
margin: 50px;
}

/* Definimos el estilo nuestra lista */

#menu ul {
list-style: none;
margin: 0;
padding: 0;
font-family:Verdana,Arial, Helvetica, sans-serif;
font-size:0.8em;
font-weight: bolder;
}

/* Ahora las características comunes de cada item */

#menu li a {
text-decoration: none;
height: 28px;
display: block;
padding: 9px 0 0 24px;
background: url(botones.gif);
}

/* Ahora las caraterísticas especiales */

#menu li a:link, #menu li a:visited {
color: #777;
}

#menu li a:hover {
color: #257EB7;
background-position: 0 -36px;
}

#menu li a:active {
color: #fff;
background-position: 0 -72px;
}

Con esto ya esta creado nuestro menú vertical, fácil y simple, pero a la vez atractivo.

Menú Rollover con CSS y una sola imagen

Y finalmente el HTML

Creamos la capa y la lista desordenada:

<div id="menu">
<ul>
<li><a href="#" title="Inicio">Inicio</a></li>
<li><a href="#" title="Artículos">Artículos</a></li>
<li><a href="#" title="Tutoriales">Tutoriales</a></li>
</ul>
</div>

La lista podría aumentar todo lo que quisieramos y nuestra botonera seguiría manteniendo su mismo y prolijo aspecto.

Ver el ejemplo terminado

Muy buen art

Muy buen art

Enviado por Ernesto (no verificado) el Dom, 10/15/2006 - 11:19.
Si mal no recuerdo,

Si mal no recuerdo, modificando #menu li a. Los valores de height y padding-top. Tienes que ir probando. Si no puedes,  dime las dimensiones de los botones y el lienzo.Saludos.

Enviado por Bal (no verificado) el Dom, 10/15/2006 - 12:54.
Nada no hay forma, e

Nada no hay forma, el texto no consigo moverlo.Mi lienzo es 97px. por 75px. Cada bot

Enviado por Ernesto (no verificado) el Lun, 10/16/2006 - 05:10.
Hola Ernesto, puedes

Hola Ernesto, puedes ver el resultado con tus botones en esta p

Enviado por Bal (no verificado) el Lun, 10/16/2006 - 07:57.
Muchas gracias Bal

Muchas gracias Bal

Enviado por Ernesto (no verificado) el Lun, 10/16/2006 - 09:31.
Hola Bal

Hola Bal

Enviado por Ernesto (no verificado) el Lun, 10/16/2006 - 13:24.
Hola Ernesto, para h

Hola Ernesto, para hacer un men

Enviado por Bal (no verificado) el Lun, 10/16/2006 - 19:27.
Gracias Bal

Gracias Bal

Enviado por Ernesto (no verificado) el Mar, 10/17/2006 - 00:16.
la funci

la funci

Enviado por carlos (no verificado) el Mar, 12/12/2006 - 07:07.
Yo los tengo en mi w

Yo los tengo en mi web uso el explorer 6 y no tengo ning

Enviado por Ernesto (no verificado) el Lun, 01/15/2007 - 09:31.
oie io lo inetnte co

oie io lo inetnte con exactamente  = solo cambie las medidas por que mis imiagenes son diferentes y no salioo ni siquieraa cambian las imagenes  soy nuevo en esto

Enviado por Mayk (no verificado) el Mié, 02/28/2007 - 10:42.
C

    Como lo puedo hacer para q en vez de que muestre una capa con el mismo nombre cambie. Titulo, muestra (capa) Titulo, este es tu ej yo quiero lo sgte.Como por ej: Al posicionar el mouse sobre titulo muestre "hola mundo"  no titulo.De antemano gracias. 

Enviado por vixtor (no verificado) el Mar, 08/28/2007 - 17:33.
Quisieras Saber el c

Quisieras Saber el codigo como podria agregarle submenus

Enviado por atinimsoft (no verificado) el Dom, 01/06/2008 - 11:35.

Deja tu comentario

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

Suscríbete

  • Suscribete a nuestro feed
  • Add to Google Reader or Homepage
  • Subscribe in NewsGator Online
  • Add to My AOL
  • Subscribe in Bloglines
  • Add to netvibes